The new ISTTOK slow control system is designed to replace the former vacuum/power/slow timing system based is the EDWARDS controller.
The new system uses the EPICS framework and the Control System Studio, below there is a detailed description of the used software.
In the next figure is depicted the system structure.
At the present the software are installed in two IOC servers with the exception of the Control System Studio that is also used for the GUI management.
All software stored in IPFN GIT server
Presently there are two instances of EPICS IOC Server implemented.
One responsible for the Temperature Node.
And a second one, installed in a Raspberry Pi, implemented in the new control unit launched at ISTTOK for the remote control of the vacuum pumps, named Central Node.
The dsPic uses the internal ADC to read the voltage signal from the thermocouple.
To measure the ELCO's voltage it was developed two boards one to read the ELCO's voltage and another to connect the fiber optic to dsPIC.
Temperature Sensors and ELCO Voltage Measurement Systems
-For communication was used a fiber optic
The dsPic uses the internal ADC to read the voltage signal from the thermocouple.
To measure the ELCO's voltage it was developed two boards one to read the ELCO's voltage and another to connect the fiber optic to dsPIC.
Examples:
PIC -> PC
VL01_1 VL02_1 VL03_0 TE01_150.9 TE02_80.1 UP_7200 PR01_1.3e-4 CKS\r\n
PC -> PICVL01_1 CKS\r\n
Table of word fields
| N | A |
|---|---|
| VLxx_ | Valve |
| TExx_ | Temperature |
| UP_ | Uptime |
| PRDxx_ | Wave Period |
| PRxx_ | Pressure |
/opt/epics/base-3.15.7)/home/codac-dev/ISTTOK/epics/iocs/ISTTOKdsPIC/opt/epics/apps/ISTTOK/etc/rc.local/opt/epics/modules)/etc/init.d/isttok-archive-engine/home/bernardo/css/ArchiveConfigToolProcess Value in this IOC Server:
| PV Name | PV Type | Archive |
|---|---|---|
| ISTTOK:temperature:Uptime | longin | no |
| ISTTOK:temperature:Last_Uptime | ai | no |
| ISTTOK:temperature:Temperature_0 | ai | yes |
| ISTTOK:temperature:Temperature_1 | ai | no |
| ISTTOK:temperature:Temperature_2 | ai | no |
| ISTTOK:temperature:Temperature_3 | ai | no |
| ISTTOK:temperature:Capbank_Voltage | ai | no |
screen deamon (see /etc/rc.local)For installation EPICS in Rpi see this link
Process Variables in this IOC Server:
| PV Name | PV Type | Archive |
|---|---|---|
| ISTTOK:central:AUTHORISATION | bo | no |
| ISTTOK:central:OPREQ | bo | no |
| ISTTOK:central:PROCESS-MODE | bo | no |
| ISTTOK:central:PROCESS-REQ | bo | no |
| ISTTOK:central:COUNTER | calc | no |
| ISTTOK:central:COUNTDOWN | mbbi | no |
| ISTTOK:central:PULSE-NUMBER | longout | yes |
| ISTTOK:central:OPSTATE | longout | yes |
| ISTTOK:central:CurrentTime | stringin | no |
| ISTTOK:central:TraceMessage | stringout | yes |
| ISTTOK:central:LogMessage | stringout | yes |
| PV Name | PV Type | Bit |
|---|---|---|
| ISTTOK:central:TMPump1-ControllerOn | bo | 0 |
| ISTTOK:central:TMPump1-ControllerOff | bo | 1 |
| ISTTOK:central:TMPump1-MotorOn | bo | 2 |
| ISTTOK:central:TMPump1-MotorOff | bo | 3 |
| ISTTOK:central:TMPump1-Power | bi | 4 |
| ISTTOK:central:TMPump1-Acceleration | bi | 5 |
| ISTTOK:central:TMPump1-Emergency | bi | 6 |
| ISTTOK:central:TMPump1-NormalOperation | bi | 7 |
| PV Name | PV Type | Bit |
|---|---|---|
| ISTTOK:central:TMPump2-Emergency | bi | 0 |
| ISTTOK:central:TMPump2-Acceleration | bi | 1 |
| ISTTOK:central:TMPump2-MotorOn | bo | 2 |
| ISTTOK:central:Buzzer | bo | 3 |
| ISTTOK:central:TTSystem-tzero | bo | 7 |
| ISTTOK:central:EmergencyButton | bo | 2 |
| PV Name | PV Type | Bit |
|---|---|---|
| ISTTOK:central:RPump1-Motor | bo | 0 |
| ISTTOK:central:RPump1-Valve | bo | 1 |
| ISTTOK:central:RPump2-Motor | bo | 2 |
| ISTTOK:central:RPump2-Valve | bo | 3 |
| ISTTOK:central:VVessel-Filament | bo | 4 |
| PV Name | PV Type | Archive |
|---|---|---|
| ISTTOK:central:RPump1-Pressure | ai | yes |
| ISTTOK:central:RPump2-Pressure | ai | yes |
| ISTTOK:central:TMPump1-PressureAdmission | ai | yes |
| ISTTOK:central:VVessel-Pressure | ai | yes |
| ISTTOK:temperature:VVessel-Temperature | ai | yes |
| ai | yes |
ISTTOK:central:TMPump1-ControllerOn
ISTTOK:central:TMPump1-ControllerOff
ISTTOK:central:TMPump1-MotorOn
ISTTOK:central:TMPump1-MotorOff
ISTTOK:central:TMPump2-Motor
ISTTOK:central:Buzzer
ISTTOK:central:Emergency-UserButton
ISTTOK:central:RPump1-Motor
ISTTOK:central:RPump1-Valve
ISTTOK:central:RPump2-Motor
ISTTOK:central:RPump2-Valve
|ISTTOK:central:COUNTDOWN | mbbi -
|ISTTOK:central:PULSE-NUMBER | longout | yes |
|ISTTOK:central:OPSTATE |longout | | yes |
|ISTTOK:central:CurrentTime | stringin | no |
1. Make sure `screen` is installed in Linux
2. Include following Line in /etc/rc.local
* `screen -dm bash -c "cd [..]/ISTTOKrpi/iocBoot/iocISTTOKrpi; ../../bin/linux-arm/ISTTOKrpi st.cmd"`
3. To access EPICS console run
* `sudo screen -r`
export EPICS_CA_ADDR_LIST="192.168.1.110 192.168.1.152"
export EPICS_CA_AUTO_ADDR_LIST="NO"
"EPICS IOC module development and implementation for the ISTTOK machine subsystem operation and control"
Paulo Carvalho, André Duarte, Tiago Pereira, Bernardo Carvalho, Jorge Sousa, Horácio Fernandes, Carlos Correia, Bruno Gonçalves, Carlos Varandas
Fusion Engineering and Design 86 (2011) 1085–1090