Table of Contents |
---|
Status of
...
Document
Status | ||
---|---|---|
|
This document, in a preliminary state, was created for educational tutorial.
Documentation
https://dls-controls.github.io/pythonSoftIOC/master/index.html
...
As with all Python projects, it is good practice to create a development environment in which to install all the libraries necessary for testing:
Code Block | ||||||
---|---|---|---|---|---|---|
|
...
| |
$ conda create --name <name_of_environment> python=3.8.13 |
...
$ conda |
...
activate <name_of_environment> $ pip install cothread==2.20.0 |
...
$ |
...
pip install softioc==4.5.0 |
This is the minimal environment for operating a SoftIOC in Python.
It is not possible o use cothread in Windows. In this case it is necessary to use asyncio:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
$ pip install asyncio==3.4.3 |
See https://dls-controls.github.io/pythonSoftIOC/master/how-to/use-asyncio-in-an-ioc.html for an example of softIOC running with asyncio.
It is good practice to exit all environments before activating the desired environment in order to avoid problems.
Code Block | ||||
---|---|---|---|---|
| ||||
$ conda deactivate
$ conda activate <name_of_environment> |
Test SoftIOC with CS-Studio
To do tests on the IOC you can either use the terminal from which the IOC itself was launched, or you can use CS-Studio Phoebus.
1.Terminal
Code Block | ||||
---|---|---|---|---|
| ||||
(epics) $ python test.py |
...
INFO: PVXS QSRV2 is loaded, permitted, and ENABLED. |
...
Starting iocInit |
...
############################################################################ |
...
## EPICS 7.0.7.0 |
...
## Rev. 7.0.7.99.0.2 |
...
## Rev. Date 7.0.7.99.0.2 |
...
############################################################################ |
...
iocRun: All initialization complete |
...
Python 3.8.13 (default, Oct 19 2022, 17:54:22) |
...
[Clang 12.0.0 ] on darwin |
...
Type "help", "copyright", "credits" or "license" for more information. |
...
(InteractiveConsole) |
...
>>> dbl() |
...
MY-DEVICE-PREFIX:AI |
...
MY-DEVICE-PREFIX:AO |
2.CS-Studio Phoebus
2.1.Install CS-Studio Phoebus
https://controlssoftware.sns.ornl.gov/css_phoebus/
2.2.Test SoftIOC with CS-Studio Phoebus
2.2.1 Open CS-Studio 2.2.2 From menu items "Application" > "Display" > "New Display" 2.2.3 Put on [Edit] Display 2.2.4 2.2.5 Run SoftIOC 2.2.6 Run CSS Display [Edit Display] then press to switch to the [Run] view [Run Display] |
3.SoftIOC example code
https://dls-controls.github.io/pythonSoftIOC/master/index.html
4.Generic SoftIOC example code
https://baltig.infn.it/lnf-da-control/epics-generic-softioc