jeol-t330a/succbone/succd
hmelder 6f93b96c39 succd: do not early return on error in modbusUpdate
When one device fails, this should not influence updates of the other
devices.  Thus, early return was the wrong strategy here.

Instead, when communication with a device fails, skip the process data
update and continue with the next device.
2024-11-10 06:35:50 +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: do not early return on error in modbusUpdate 2024-11-10 06:35:50 +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