You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/Glossary.md
+3-3
Original file line number
Diff line number
Diff line change
@@ -98,7 +98,7 @@ A Python script to upgrade current configurations to be compatible with new vers
98
98
99
99
The Data Acquisition Electronics (DAE) is the physical hardware that reads the neutron events out of the detectors. IBEX communicates with this hardware via the Instrument Control Program (ICP). This program is also responsible for combining the neutron and sample environment data into the NeXus file.
@@ -124,7 +124,7 @@ It is a collection of software tools collaboratively developed which can be inte
124
124
125
125
## Field
126
126
127
-
## [Gateway](/system_components/Access-Gateway)
127
+
## [Gateway](/system_components/Gateway)
128
128
129
129
A service that controls access between two or more networks.
130
130
@@ -164,7 +164,7 @@ Archives [PV](#pv) values using the [CSS Archive Engine](#archive-engine) which
164
164
165
165
## Journal Viewer
166
166
167
-
Journal viewer is an overloaded term. There are two, one as [part of the ibex GUI](/system_components/The-Journal-Viewer) and the other is a standalone application supported by the instrument scientists, we only provide data for this.
167
+
Journal viewer is an overloaded term. There are two, one as [part of the ibex GUI](/system_components/Journal-Viewer) and the other is a standalone application supported by the instrument scientists, we only provide data for this.
Copy file name to clipboardExpand all lines: doc/System-components.md
+4-5
Original file line number
Diff line number
Diff line change
@@ -20,23 +20,22 @@ Archive Engine | `ARBLOCK` | Java | Archives (in mysql db) blocks set in a confi
20
20
Block Gateway | `GWBLOCK` | EPICS Gateway | Aliases the dynamically created block PVs e.g. CS:SB:FURNACE_TEMP to the underlying PV e.g. EUROTHRM_01:A01:TEMP see [Block server](system_components/BlockServer)
21
21
[Block server](system_components/BlockServer) | `BLOCKSRV` | Python | Manages configurations and blocks associated with them see [Settings-and-Configurations](system_components/Settings-and-Configurations). It configures the Archive Engine and starts the IOCs read from the configuration files.
22
22
CA Repeater | `CAREP` | Executable | A epics CA repeater that is started before all other processes. This repeats UDP broadcasts to CA clients on the same machine
23
-
[Database server](system_components/The-DatabaseServer) | `DBSVR` | Python | Intermediary between MySQL and the GUI, only used for PVs that hold instrument information, such as experiment data, which IOCs are used and information about PVs of an instrument. Legacy software, not that necessary now.
24
-
[Datastreaming](system_components/Datastreaming) | | Python, ISISICP, Kafka | Stream neutron & sample environment data into Kafka.
23
+
[Database server](system_components/DatabaseServer) | `DBSVR` | Python | Intermediary between MySQL and the GUI, only used for PVs that hold instrument information, such as experiment data, which IOCs are used and information about PVs of an instrument. Legacy software, not that necessary now.
25
24
[Experiment DB](https://github.com/ISISComputingGroup/ExperimentDatabasePopulator) | N/A - runs centrally | Python | Similar to DB server but for PVs for the experimental database which contains users and run numbers.
26
-
[External/Access Gateway](system_components/Access-Gateway) | `GWEXT` | EPICS Gateway | Gateway to allow access to PVs from outside localhost
25
+
[External/Access Gateway](system_components/Gateway) | `GWEXT` | EPICS Gateway | Gateway to allow access to PVs from outside localhost
27
26
[icpconfig](iocs/tools/icpconfig) | N/A | Library of functions | functions called on IOC start up to load macros into the IOC.
28
27
[Inst etc](system_components/Inst-etc-IOC) | `INSTETC_01` | Epics IOC | PVs which are for instrument level, e.g. motors moving and security pvs
29
28
Instrument Archive | `ARINST` | Java | Archives (in mysql db) pvs with archive property see [CSS-Archive-Engine](system_components/CSS-Archive-Engine). It is a separate archive engine from Archive engine. PVs with archive property are PVs set by developers to be logged always, regardless of what scientists do, so that we can use them for diagnostics.
30
29
[IOC Message Logger](system_components/IOC-message-logging) | `IOCLOG` | Java | Instrument level software that collects messages sent by any IOC, logs it in the database and put it on the JMS message queue.
31
30
[ISIS DAE](specific_iocs/DAE-and-the-ICP) | `ISISDAE_01` | Epics IOC | Controls the ISIS ICP program which collects data. It is an IOC-like needed because ICP can not talk over Channel Access.
32
31
[LabVIEW](system_components/LabVIEW) | | LabVIEW | Controls certain legacy devices which have not been migrated to EPICS yet.
33
-
[MySQL](system_components/The-MySQL-Database) | runs as a service | Service | My SqlDatabase is used for persisting data
32
+
[MySQL](system_components/MySQL-Database) | runs as a service | Service | My SqlDatabase is used for persisting data
34
33
[Nicos](system_components/Nicos) | `NICOSDAEMON` | Python | Process which runs and queues users' python scripts on an instrument
35
34
Proc Serve Control | `PSCTRL` | Epics IOC | Control proc serves (start, stop and status). A wrapper that makes starting and stopping IOCs much easier.
[Remote IOC Server](system_components/Remote-IOCs) | | pcaspy | Manages IOCs hosted on PCs other than the local instrument.
38
37
[Run Control](system_components/Run-control) | `RUNCTRL_01` | Epics IOC | Add run control to blocks. Run Control is a feature of IBEX that allows users to configure the instrument so when a PV is out of a certain range, neutron data is not being gathered. Needed because neutron data has an extremely large volume and sometimes that data would not be needed so it is better to not pollute the Nexus files with it.
39
38
[Script server (Interface to Nicos)](system_components/Nicos) | `SCRIPTSERVER` | Python | Script server is a proxy in front of nicos to allow communication with it.
40
-
[The Journal Viewer](system_components/The-Journal-Viewer) | N/A | Database, webserver and part of the client | Provides information about what experiments have been done on the instrument in the past
39
+
[The Journal Viewer](system_components/Journal-Viewer) | N/A | Database, webserver and part of the client | Provides information about what experiments have been done on the instrument in the past
41
40
42
41
All components are started via [Startup and Shutdown](system_components/Startup-and-Shutdown)
Copy file name to clipboardExpand all lines: doc/deployment/patch/Patch-or-hotfix-an-IOC.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -25,7 +25,7 @@ So for a new IOC do the following:
25
25
* copy the just the ioc EXE files from the `bin` of the `EPICS-STATIC-CLEAN` build to replace those you copied from `EPICS-CLEAN` e.g. replace files on instrument in `ioc\master\SR400\bin\windows-x64` with the files from `EPICS-STATIC-CLEAN` jenkins directory `ioc\master\SR400\bin\windows-x64-static` (this will just be replacing exe, if a DLL is present in the original instrument directory don't worry about it)
26
26
* copy the dbd files i.e. copy all dbd files in `ioc\master\SR400\dbd` from `EPICS-STATIC-CLEAN` jenkins to equivalent location on instrument computer e.g. to `c:\instrument\apps\EPICS\ioc\master\SR400\dbd`. We need to copy dbd files as they relate to EPICS records in DLLs that are embedded. We can't copy all of the `EPICS-STATIC-CLEAN` tree as some bits have the wrong `EPICS_HOST_ARCH` embedded (as in windows-x64-static). So we need to do this hybrid approach.
27
27
28
-
# Notes
28
+
##Notes
29
29
30
30
* on windows you cannot replace an EXE file if it is in use
31
31
* The list of IOCs to start is produced by a `start_ibex_server` and it also builds the list of ioc macros that the GUI reads. So you will need to run `start_ibex_server` for a new IOC or changed macros, and may have to restart the GUI after this too.
*[Creating soft motors to control real motors](motor_extensions/Creating-soft-motors-to-control-real-motors) This is useful if you need some logic for transformations between axes.
58
-
*[Adding a motor IOC to global motor moving and stop all](/iocs/tips_tricks/Adding-motor-IOC-to-global-motor-moving-and-stop-all)
59
-
*[Clearing the Motors are Moving state](/iocs/troubleshooting/Clearing-the-Motors-are-Moving-state)
60
81
*[Portable Eulerian Cradle](motor_extensions/Portable-Eulerian-Cradle) see on ENGINX
61
82
*[SANS2D Front Beam Stop inhibit movement](motor_extensions/SANS2D-Front-Beam-Stop-inhibit-movement)
It can be useful to sync the motor steps to the encoder steps before each move. This is especially true with an absolute encoder where a power cycle of a Galil controller can change the motor steps to 0 but not the encoder steps because this makes the soft limits stop the motion at strange places. To do this the PV `<MOT:MTR0X0X>_MOT_ENC_SYNC_TOL_SP` should be set to a non zero value, when the difference differs by more than this tolerance the motor steps will be resynced. If the encoder is not absolute you should be cautious when doing this, the encoder and motor steps should not get out of sync so don't do it without recording the reason somewhere.
131
131
132
-
## Trouble Shooting
133
-
134
-
See [Motors Trouble Shooting](/iocs/troubleshooting/Motors-Trouble-Shooting)
Copy file name to clipboardExpand all lines: doc/specific_iocs/motors/McLennan-motors.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@ The McLennan motor velocity is set with the *VELO***n** IOC macros, the value se
32
32
The IOC macro *ACCL***n** for acceleration is the the number of seconds under linear acceleration to reach maximum speed, the same convention as the EPICS motor record (The acceleration value on the device itself is the acceleration in units of `step/s^2`, this is calculated in the IOC as velocity divided by the product of the motor resolution and ACCL value).
33
33
34
34
### Setting the motor position/offset
35
-
See [Set the raw position of the motor without moving it](/iocs/troubleshooting/Set-the-raw-position-of-the-motor-without-moving-it)
35
+
See [Set the raw position of the motor without moving it](Set-the-raw-position-of-the-motor-without-moving-it)
Copy file name to clipboardExpand all lines: doc/system_components/BlockServer.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -26,7 +26,7 @@ See [BlockServer Structure](blockserver/BlockServer-Structure) for further infor
26
26
27
27
The BlockServer is a Channel Access Server (CAS) written in Python using the [PCASpy](https://code.google.com/archive/p/pcaspy/) module.
28
28
It provides a number of PVs that allow the blocks to be configured (see below) and configurations to be created and loaded.
29
-
The blocks are PV aliases created using the blocks gateway - a standard [channel access gateway](Access-Gateway) running on localhost. When a configuration is loaded or the blocks changed then the BlockServer regenerates the PV file for the gateway.
29
+
The blocks are PV aliases created using the blocks gateway - a standard [channel access gateway](Gateway) running on localhost. When a configuration is loaded or the blocks changed then the BlockServer regenerates the PV file for the gateway.
30
30
31
31
The PV file is typically stored in `C:\Instrument\Settings\gwblock.pvlist` and looks something like this:
0 commit comments