jeol-t330a/succbone/succd
Rahix 152290f5a3
All checks were successful
/ test (push) Successful in 10s
/ test (pull_request) Successful in 10s
succd: Fix -KEC1 relay board updates
The accesses to -KEC1 always time out on the attempt to update the
output values.  We noticed that this is related to the timing between
the reading of the inputs and the following write to the outputs.

Fix -KEC1 accesses by waiting before sending the next request to the
board after receiving the reply for the previous one.
2024-11-10 06:36:43 +01:00
..
.gitignore More succd into succbone subdirectory 2024-09-21 23:19:55 +02:00
adc.go More succd into succbone subdirectory 2024-09-21 23:19:55 +02:00
ci.sh succd: add ci, tests 2024-09-28 16:09:07 +02:00
go.mod Add modbus integration 2024-11-10 01:59:09 +01:00
go.sum Add modbus integration 2024-11-10 01:59:09 +01:00
gpio.go succd: implement rp/dp/vent/pumpdown control 2024-09-25 23:38:43 +02:00
http.go succd: Export temperature values to prometheus 2024-11-10 02:04:31 +01:00
index.html succd: Render temperature unit in template as well 2024-11-10 02:08:05 +01:00
main.go succd: Migrate to KEC1 MODBUS relay board 2024-11-10 05:11:48 +01:00
modbus.go succd: Fix -KEC1 relay board updates 2024-11-10 06:36:43 +01:00
process.go succd: Migrate to KEC1 MODBUS relay board 2024-11-10 05:11:48 +01:00
process_blocks.go succd: Add hysteresis feature to thresholdOutput blocks 2024-10-04 23:30:28 +02:00
process_blocks_test.go succd: Add hysteresis feature to thresholdOutput blocks 2024-10-04 23:30:28 +02:00
process_controller.go succd: run at 100Hz, monitor load and jitter 2024-09-28 14:27:43 +02:00
README.md succd: add info on how to run tests 2024-09-28 16:13:10 +02:00
scientific.go succd: log pressures in error messages 2024-09-28 09:46:18 +02:00
succd.png succd: add logo 2024-09-27 02:12:38 +02:00
succd.service More succd into succbone subdirectory 2024-09-21 23:19:55 +02:00
succd.svg succd: add logo 2024-09-27 02:12:38 +02:00

succd

A little daemon for monitoring the SEM. This is a temporary solution that runs on a BeagleBone Enhanced (succbone.lab) and SHOULD be replaced with a proper PLC/SCADA system and general process control in the future.

Features:

  1. Monitors the state of the Pirani gauge via the BBE's builtin ADC.
  2. Allows enabling/disabling the diffusion/roughing pumps (builtin controller always keeps them enabled).
  3. Allows for simulating vent/pumpdown button presses.

Pins

P9 pin number Relay number Relay board / channel number GPIO number Function
27 -KFA1 1 / 4 115 Roughing Pump
23 -KFA2 1 / 3 49 Diffusion Pump
n/c -KFA3 (broken) 1 / 2 n/c
12 -KFA4 1 / 1 60 Vent Button
15 -KFA5 2 / 4 48 Pump Down Button
11 -KFA6 2 / 3 30 Rough Vacuum Out
42 -KFA7 2 / 2 7 High Vacuum Out
n/c -KFA8 2 / 1 n/c

Accessing at the lab

Go to succbone.lab.fa-fo.de.

Known issues

Sometimes the websocket doesn't connect. Refreshing the page a few times should fix it.

Running locally

$ ./ci.sh # run tests
$ go run . -fake

Then point your browser to localhost:8080

Deploying on the succbone

$ ssh root@succbone systemctl stop succd
$ GOARCH=arm go build .
$ scp succd root@succbone:/usr/bin/succd
$ ssh root@succbone systemctl start succd