docs: ioc

This commit is contained in:
Benjamin Labrecque
2026-07-28 08:19:46 +02:00
parent 8c1fddfc2c
commit 1188cd383b
+55 -52
View File
@@ -1,11 +1,13 @@
# IOC
TODO: some iocs not associated to a service, where to put?
TODO: need to dev/prod template them too
The following instructions explain the basics of starting and managing IOCs on the IOC host.
- TODO: some iocs not associated to a service, where to put?
- TODO: need to dev/prod template them too
## Host
sls-vserv-bd-01(-dev)
`sls-vserv-bd-01(-dev)`
## Shell
@@ -15,34 +17,16 @@ Start up an IOC shell:
iocsh AGEBD-CPCL-MASTER_main.subs
```
then you can run commands to interact with EPICS.
List available PVs:
```shell
> dbl
```
## Install
On `sls-lc*`
```shell
ioc install -V --ioc AGEBD-CPCL-TUNEFBX clean
```
Result: on ioc host, e.g. `sls-vserv-bd-01-dev`
```shell
vim /etc/shellbox/<port-number>
```
## Check PVs of installed IOC
or:
```shell
ioc shell AGEBD-CPCL-MASTER-DEV
```
then you can run commands to interact with EPICS.
List available PVs:
```shell
> dbl
```
@@ -53,39 +37,58 @@ Exit:
Ctrl + d
```
Old docs: # TODO: merge with current
## IOC installation
The following instructions explain the basics of starting and managing IOCs on the IOC host.
For the initial install the shellbox on the ioc host must be restarted.
For existing IOCs a login to the IOC and restart via ctr+x is sufficient.
## Install
### local tests
#### using subs file
iocsh AGEBD-CPCL-PLAYGROUND_main.subs
For existing IOCs, a login to the IOC and a restart via `ctrl+x` is sufficient.
#### using template file
iocsh PLAYGROUND.template DEVICE=TEST
On `sls-lc*`
### proper install
```shell
ioc install -V --ioc AGEBD-CPCL-PLAYGROUND --clean
ioc shell AGEBD-CPCL-PLAYGROUND
ctrl+x
```
### login on BD IOC host for access to shellbox
ssh sls-vserv-bd-01
For the initial install, additionally, the shellbox on the ioc host must be restarted.
#### shellbox
TODO: should be -bd-01?
cd /ioc/hosts/sls-vserv-op-01<br>
gedit shellbox.conf<br>
```shell
sudo shellbox reload # new ioc installed
```
restart ioc via shellbox:<br>
sudo shellbox reload # new ioc installed<br>
sudo shellbox status # status of all iocs on server<br>
sudo shellbox stop 50045 # stop ioc<br>
sudo shellbox start 50045 # start ioc<br>
sudo shellbox log 50045 -f # log file (tail)<br>
exit # exit ssh<br>
Result: on ioc host, e.g. `sls-vserv-bd-01-dev`
```shell
vim /etc/shellbox/<port-number>
```
### Local Tests
```shell
iocsh AGEBD-CPCL-PLAYGROUND_main.subs
```
using template file:
```shell
iocsh PLAYGROUND.template DEVICE=TEST
```
## "Delete"
There is no way to really delete an IOC through the `ioc` cli.
What you can do: `ssh sls-lc*` and delete the entry from `/ioc/hosts/sls-vserv-bd-01(-dev)/shellbox.conf`
## Restart an IOC via shellbox
On BD host `sls-vserv-bd-01(-dev)`
```shell
sudo shellbox reload # new ioc installed
sudo shellbox status # status of all iocs on server
sudo shellbox stop 50045 # stop ioc
sudo shellbox start 50045 # start ioc
sudo shellbox log 50045 -f # log file (tail)
exit # exit ssh
```