Skip to content

Commit cc3d139

Browse files
committed
Move datastreaming -> DAE, motors tips -> motors
1 parent ea3778d commit cc3d139

36 files changed

+47
-29
lines changed

doc/Glossary.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ A Python script to upgrade current configurations to be compatible with new vers
9898

9999
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.
100100

101-
## [Database Server](/system_components/The-DatabaseServer)
101+
## [Database Server](/system_components/DatabaseServer)
102102

103103
## DataWeb
104104

@@ -124,7 +124,7 @@ It is a collection of software tools collaboratively developed which can be inte
124124

125125
## Field
126126

127-
## [Gateway](/system_components/Access-Gateway)
127+
## [Gateway](/system_components/Gateway)
128128

129129
A service that controls access between two or more networks.
130130

@@ -164,7 +164,7 @@ Archives [PV](#pv) values using the [CSS Archive Engine](#archive-engine) which
164164

165165
## Journal Viewer
166166

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.
168168

169169
## Journal Parser
170170

doc/IOCs.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ If you're not creating a StreamDevice IOC or you would like to know how an IOC c
4040

4141
1. [IOC Finishing Touches](iocs/creation/IOC-Finishing-Touches)
4242
* Additional for motors:
43-
1. [Adding motor IOC to global motor moving and stop all](iocs/tips_tricks/Adding-motor-IOC-to-global-motor-moving-and-stop-all)
44-
1. [Add support for motor extras, e.g. axes](iocs/tips_tricks/Add-support-for-motor-extras)
43+
1. [Adding motor IOC to global motor moving and stop all](/specific_iocs/motors/Adding-motor-IOC-to-global-motor-moving-and-stop-all)
44+
1. [Add support for motor extras, e.g. axes](/specific_iocs/motors/Add-support-for-motor-extras)
4545

4646
1. [Running (and testing) IOC](iocs/testing/Running-IOCs)
4747

doc/System-components.md

+4-5
Original file line numberDiff line numberDiff line change
@@ -20,23 +20,22 @@ Archive Engine | `ARBLOCK` | Java | Archives (in mysql db) blocks set in a confi
2020
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)
2121
[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.
2222
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.
2524
[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
2726
[icpconfig](iocs/tools/icpconfig) | N/A | Library of functions | functions called on IOC start up to load macros into the IOC.
2827
[Inst etc](system_components/Inst-etc-IOC) | `INSTETC_01` | Epics IOC | PVs which are for instrument level, e.g. motors moving and security pvs
2928
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.
3029
[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.
3130
[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.
3231
[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
3433
[Nicos](system_components/Nicos) | `NICOSDAEMON` | Python | Process which runs and queues users' python scripts on an instrument
3534
Proc Serve Control | `PSCTRL` | Epics IOC | Control proc serves (start, stop and status). A wrapper that makes starting and stopping IOCs much easier.
3635
[Python (Uktena)](system_components/Python) | | python | Python distribution.
3736
[Remote IOC Server](system_components/Remote-IOCs) | | pcaspy | Manages IOCs hosted on PCs other than the local instrument.
3837
[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.
3938
[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
4140

4241
All components are started via [Startup and Shutdown](system_components/Startup-and-Shutdown)

doc/deployment/Patch.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,8 @@ How to patch or hotfix a new change onto an instrument which already has IBEX.
77
:maxdepth: 1
88
99
patch/*
10-
```
10+
```
11+
12+
:::{seealso}
13+
See also [powershell remoting](/systems/inst_control/PS-Remote) for a script to apply patches to many instruments simultaneously.
14+
:::

doc/deployment/patch/Patch-or-hotfix-an-IOC.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ So for a new IOC do the following:
2525
* 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)
2626
* 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.
2727

28-
# Notes
28+
## Notes
2929

3030
* on windows you cannot replace an EXE file if it is in use
3131
* 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.

doc/iocs/tools/IOC-access-security.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ To check whether access security is working properly it can be useful to use a `
4040

4141
## Even more information
4242

43-
- [Access Gateway](/system_components/Access-Gateway)
43+
- [Access Gateway](/system_components/Gateway)
4444

4545
## Past approaches / future extensions
4646

doc/overview/Links-and-Resources.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ A non-exhaustive collection of troubleshooting pages.
4444
* [Jenkins](/processes/continuous_integration/Jenkins-Trouble-Shooting)
4545
* [Blockserver](/system_components/blockserver/Blockserver-Trouble-Shooting)
4646
* [IOC and device](/iocs/troubleshooting/IOC-And-Device-Trouble-Shooting)
47-
* [Motors](/iocs/troubleshooting/Motors-Trouble-Shooting)
47+
* [Motors](/specific_iocs/motors/Motors-Trouble-Shooting)
4848
* [DAE](/specific_iocs/dae/DAE-Trouble-Shooting)
4949
* [Experimental Runs](/specific_iocs/dae/Experimental-Runs) - This includes how log plotter can be used to look at old data.
5050
* [Eclipse](/client/eclipse/Common-Eclipse-Issues)

doc/specific_iocs/Motors.md

+26-7
Original file line numberDiff line numberDiff line change
@@ -42,23 +42,42 @@ The motors currently used at ISIS are:
4242
:titlesonly:
4343
:maxdepth: 1
4444
45-
motors/*
45+
motors/Attocube
46+
motors/Beckhoff
47+
motors/EnginX-Sample-Positioner
48+
motors/Galil
49+
motors/Linmot
50+
motors/McLennan-motors
51+
motors/Newport
52+
motors/PI-Rotation-Stage-setup
53+
motors/SM300
54+
motors/SMC100
55+
motors/SXD-Attocube
4656
```
4757

4858
```{seealso}
4959
See [Motor Extensions](Motors-Extensions) for information about extra configuration which can be applied to motion controllers, for example jaws.
5060
```
5161

52-
## Other info
62+
## Troubleshooting information
63+
64+
```{toctree}
65+
:glob:
66+
:titlesonly:
67+
:maxdepth: 1
68+
69+
motors/Motors-Trouble-Shooting
70+
motors/Adding-motor-IOC-to-global-motor-moving-and-stop-all
71+
motors/Clearing-the-Motors-are-Moving-state
72+
motors/Set-the-raw-position-of-the-motor-without-moving-it
73+
motors/Add-support-for-motor-extras
74+
```
75+
76+
## See also
5377

54-
* [Set the raw position of the motor without moving it](/iocs/troubleshooting/Set-the-raw-position-of-the-motor-without-moving-it)
5578
* [IMAT Lens Adjustment](motor_extensions/IMAT-Lens-Adjustment)
5679
* [Motion Setpoints](motor_extensions/Motion-Set-points)
5780
* [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)
6081
* [Portable Eulerian Cradle](motor_extensions/Portable-Eulerian-Cradle) see on ENGINX
6182
* [SANS2D Front Beam Stop inhibit movement](motor_extensions/SANS2D-Front-Beam-Stop-inhibit-movement)
62-
* [EnginX Sample Positioner](motors/EnginX-Sample-Positioner)
6383
* [Disabling motor from view in the motor table](/iocs/testing/Disable-records)
64-

doc/specific_iocs/motors/Galil.md

+1-5
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ This page contains information and references regarding the operation and mainte
88

99
Useful information about the Galil can be found on the following pages:
1010

11-
- [Motors Trouble Shooting](/iocs/troubleshooting/Motors-Trouble-Shooting)
11+
- [Motors Trouble Shooting](Motors-Trouble-Shooting)
1212
- [IOC And Device Trouble Shooting](/iocs/troubleshooting/IOC-And-Device-Trouble-Shooting)
1313
- [Differences between real Galil and simulated motor](galil/Differences-between-real-Galil-and-simulated-motor)
1414
- [Galil Instrument Configuration](galil/Galil-Instrument-Configuration)
@@ -129,10 +129,6 @@ EN
129129

130130
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.
131131

132-
## Trouble Shooting
133-
134-
See [Motors Trouble Shooting](/iocs/troubleshooting/Motors-Trouble-Shooting)
135-
136132
## Further Information
137133

138134
```{toctree}

doc/specific_iocs/motors/McLennan-motors.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ The McLennan motor velocity is set with the *VELO***n** IOC macros, the value se
3232
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).
3333

3434
### 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)
3636

3737
### Homing
3838

doc/system_components/BlockServer.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ See [BlockServer Structure](blockserver/BlockServer-Structure) for further infor
2626

2727
The BlockServer is a Channel Access Server (CAS) written in Python using the [PCASpy](https://code.google.com/archive/p/pcaspy/) module.
2828
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.
3030

3131
The PV file is typically stored in `C:\Instrument\Settings\gwblock.pvlist` and looks something like this:
3232

doc/tools/Shared-utility-scripts.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Shared Utility Scripts
1+
# Shared Utility Scripts (`ibex_utils`)
22

33
A place to share resources for speeding up our workflow - most of these live in https://github.com/ISISComputingGroup/ibex_utils
44

0 commit comments

Comments
 (0)