Commit Graph

393 Commits

Author SHA1 Message Date
Mikayla Fischler
1d3a1672c8 #102 #21 auto control loop with induction matrix and unit alarm checks and handling 2023-02-07 00:32:50 -05:00
Mikayla Fischler
1100051585 #151 improved RCS alarm behavior 2023-02-05 13:04:42 -05:00
Mikayla Fischler
b5c70b0d37 fixed process controller assuming ramp complete if burn rate setpoint was identical to setpoint before process control start 2023-02-04 13:47:00 -05:00
Mikayla Fischler
ba8bfb6e14 #101 fixed averages and display them 2023-02-03 21:05:21 -05:00
Mikayla Fischler
a117d5ee97 #150 save and automatically set priority groups, added checks to set waste and set group commands, restore waste mode control if operation failed 2023-02-03 16:40:58 -05:00
Mikayla Fischler
2e78aa895d #101 #102 burn rate process mode functional 2023-02-02 22:58:51 -05:00
Mikayla Fischler
fe71615c12 #101 #102 work on bugfixes; disable unit controls while in auto mode 2023-02-01 21:55:02 -05:00
Mikayla Fischler
e9562a140c #143 #103 #101 #102 work in progress auto control, added coordinator controls, save/auto load configuration, auto enable/disable on reactor PLC for auto control (untested) 2023-01-26 18:26:26 -05:00
Mikayla Fischler
e808ee2be0 #137 save/recall waste configuration with config file 2023-01-23 20:47:45 -05:00
Mikayla Fischler
4145949ba7 #141 setting unit limits with coordinator 2023-01-15 13:11:46 -05:00
Mikayla Fischler
a1c1125d54 fixed bug with automatic limit update 2023-01-03 17:03:20 -05:00
Mikayla Fischler
41838ee340 #102 #20 #19 #21 work in progress on auto control, added control loop, started auto scram checks, implemented limiting and balancing, re-organized for priority groups 2023-01-03 16:50:31 -05:00
Mikayla Fischler
ca2983506e #24 coordinator/supervisor setting process groups and unit burn rate limits 2022-12-18 13:56:04 -05:00
Mikayla Fischler
6517f78c1c #129 induction matrix view 2022-12-10 15:44:11 -05:00
Mikayla Fischler
03f0216d51 #130 facility data object, some code cleanup, comms protocol changed from 1.0.1 to 1.1.0 2022-12-10 13:58:17 -05:00
Mikayla Fischler
2a99d1d385 #136 send rps trip cause with status, moved rps is_tripped to rps status from main status, increased plc status send rate to 2 Hz 2022-12-07 12:59:21 -05:00
Mikayla Fischler
52603e3579 #131 first pass of unit status text 2022-12-06 23:39:35 -05:00
Mikayla Fischler
6bdde02268 #131 start of unit status text, added updating coordinator waste processing option on reconnect 2022-12-05 16:17:09 -05:00
Mikayla Fischler
4030fdc5c9 #77 alarm sounder 2022-12-04 13:59:10 -05:00
Mikayla Fischler
e1d7c7b1c0 #134 #104 redstone RTU integration with supervisor unit, waste routing implemented, changed how redstone I/O works (again, should be good now), modbus fixes 2022-11-30 23:31:14 -05:00
Mikayla Fischler
d4ae18eee7 #10 #133 alarm system logic and display, change to comms to support alarm actions, get_x get_y to graphics elements, bugfixes to coord establish and rtu establish, flashing trilight and alarm light indicators 2022-11-26 16:18:31 -05:00
Mikayla Fischler
657cd15c59 #127 uncommitted changes for annunciator changes 2022-11-17 12:04:30 -05:00
Mikayla Fischler
c93a386e74 #127 adjusted annunciator rate/feed checks 2022-11-17 11:20:53 -05:00
Mikayla Fischler
6fcd18e17a #125 moved environmental loss on boilers from build to state category 2022-11-14 21:50:32 -05:00
Mikayla Fischler
7c39e8c72b #126 fixed RTU builds not being sent to coordinator at the correct times 2022-11-14 21:43:02 -05:00
Mikayla Fischler
9761228b8e #124 debug stack trace on error 2022-11-13 15:56:27 -05:00
Mikayla Fischler
e679b5a25a #122 versioned comms protocol with unified establish protocol 2022-11-13 14:13:30 -05:00
Mikayla Fischler
1a01bec7e4 #123 RTU startup without devices, fixed repeat RTU advert handling, added PPM virtual devices, fixed log out of space detection, updated RTU type conversion functions in comms 2022-11-12 01:35:31 -05:00
Mikayla Fischler
8b65bf4852 fixed rps alarm packet length check 2022-11-11 16:46:38 -05:00
Mikayla Fischler
af57c3b1fc automatic reactor scram functionality for future use 2022-11-11 16:15:44 -05:00
Mikayla Fischler
c221ffa129 #81 handle force disabled 2022-11-11 15:45:46 -05:00
Mikayla Fischler
83cf645da4 #107, #121 RTU build changes, formed handling 2022-11-11 14:59:53 -05:00
Mikayla Fischler
806b217d58 #100 interactive reactor controls (start, scram, reset) 2022-11-06 18:41:52 -05:00
Mikayla Fischler
54264f5149 #111 support unformed reactors 2022-11-02 13:45:52 -04:00
Mikayla Fischler
b2be3ef5fc #106 reactor formed support and remounting 2022-10-25 13:29:57 -04:00
Mikayla Fischler
788fae44aa #105 single coordinator configuration 2022-10-20 13:53:39 -04:00
Mikayla Fischler
ab757e14a7 #100 work in progress on command acks for reactive buttons 2022-10-20 12:22:03 -04:00
Mikayla Fischler
77dc7ec0c9 fixed rps reset infinte retry, improved time delta calculations, added last_update to rtu device databases 2022-10-07 11:43:18 -04:00
Mikayla Fischler
5dfbe650c6 #93 don't send out-of-range burn rates (won't get a good ack), fixed unit command packet ordering 2022-10-07 11:28:56 -04:00
Mikayla Fischler
62ac993dae #93, #94, unit commands and range/type checks on unit IDs on PLC/RTU connections 2022-10-06 13:54:52 -04:00
Mikayla Fischler
c02479b52e #99 updating/sending builds 2022-10-02 21:17:13 -04:00
Mikayla Fischler
1b553ad495 #83 additional reactor structure fields, bugfix to rps alarm on sv, removed spam-prone rps error messages 2022-09-30 17:33:35 -04:00
Mikayla Fischler
4f7775ccb6 check for table type before checking length, added power conversion/formatting helpers 2022-09-22 21:31:07 -04:00
Mikayla Fischler
50be7f9ca2 #97 fixed issue where traffic on other channels gets processed if channels are left open 2022-09-22 20:42:06 -04:00
Mikayla Fischler
36557fc345 code cleanup, type hints, bugfixes, and #98 removal of support for mek 10.0 RTU peripherals 2022-09-21 15:53:51 -04:00
Mikayla Fischler
d0d20b1299 #95 added boiler/turbine RTUs to supervisor, tons of RTU/MODBUS related bugfixes, adjusted annunciator conditions 2022-09-18 22:25:59 -04:00
Mikayla Fischler
33695b2ed6 #74 #86 removed redundant overridden field (use rps_tripped) 2022-09-08 14:49:01 -04:00
Mikayla Fischler
17954ef3d0 #86 supervisor fixes and changes for annunciator/units; send annunciator, fixed heartbeat, change to max return flow detection 2022-09-08 10:25:00 -04:00
Mikayla Fischler
e456d34468 svsessions bugfixes 2022-09-05 16:23:03 -04:00
Mikayla Fischler
621adbbcbc #86 type bug fix 2022-09-05 11:49:23 -04:00
Mikayla Fischler
17fce01ff5 added rps_trip_cause type 2022-09-03 13:10:09 -04:00
Mikayla Fischler
c3f7407689 #86 work on supervisor/coordinator comms 2022-09-03 10:50:14 -04:00
Mikayla Fischler
d38e5ca5ec #86 send builds and statuses periodically 2022-08-28 12:57:36 -04:00
Mikayla Fischler
eadf5c488a #86 improvements to supervisor units, code cleanup 2022-08-28 12:12:30 -04:00
Mikayla Fischler
1afafba501 wrap os.pullEventRaw to have return types 2022-07-19 15:18:11 -04:00
Mikayla Fischler
525dedb830 added missing RPS fields to supervisor session 2022-07-16 12:54:02 -04:00
Mikayla Fischler
b25ebdf959 fixed supervisor keep alive periodics timing 2022-07-07 13:18:10 -04:00
Mikayla Fischler
4b60c038f4 removed debug prints 2022-07-07 00:37:58 -04:00
Mikayla Fischler
ea17ba41fe #74 supervisor-coordinator comms establish 2022-07-07 00:34:42 -04:00
Mikayla Fischler
ebcc911b81 #70 validate RTU advertisements on the supervisor 2022-06-05 16:53:36 -04:00
Mikayla Fischler
1c819779c7 #69 config file validation 2022-06-05 15:09:02 -04:00
Mikayla Fischler
81345f5325 #71 validate frame data types 2022-06-05 13:22:36 -04:00
Mikayla Fischler
f0c97e8b70 #65 safe concat where appropriate 2022-06-05 11:16:25 -04:00
Mikayla Fischler
5068e47590 #67 turbine valve RTU supervisor session, bugfixes with redstone RTU session 2022-06-05 09:30:56 -04:00
Mikayla Fischler
c764506999 #67 boilerv RTU supervisor session, supervisor session cleanup 2022-06-04 17:59:24 -04:00
Mikayla Fischler
6d97d45227 #67 imatrix RTU supervisor session 2022-06-04 17:45:52 -04:00
Mikayla Fischler
e443beec19 #66 SNA RTU supervisor session 2022-06-04 16:25:23 -04:00
Mikayla Fischler
0f7e77b0cb #28 fixed addresses for RTU session 2022-06-04 15:36:47 -04:00
Mikayla Fischler
27a86cc893 #28 SPS RTU supervisor session 2022-06-04 15:33:04 -04:00
Mikayla Fischler
07574aa116 alignment and fixed has_build bugs 2022-06-04 15:00:50 -04:00
Mikayla Fischler
dcb517d1cb trailing case of not using TXN_TAGS 2022-06-04 11:23:06 -04:00
Mikayla Fischler
1242c5a81c use TXN_TAGS for consistency 2022-06-04 11:17:54 -04:00
Mikayla Fischler
5cba8ff9f1 #59 environment detector RTU 2022-06-04 11:11:35 -04:00
Mikayla Fischler
fc7b83a18a #28 #66 #59 new RTUs 2022-06-04 10:49:36 -04:00
Mikayla Fischler
3bb95eb441 #64 util code cleanup 2022-05-31 16:09:06 -04:00
Mikayla Fischler
e52b76aa24 supervisor unit sessions now actually call txnctrl.cleanup 2022-05-31 15:40:17 -04:00
Mikayla Fischler
43d5c0f8ad #64 supervisor code cleanup 2022-05-31 15:36:17 -04:00
Mikayla Fischler
ff5b163c1d ppm patch to support multiple return value functions, changed lack of modem to emit fatal error 2022-05-29 14:26:40 -04:00
Mikayla Fischler
214f2d9028 fixed supervisor clock not starting 2022-05-26 17:49:53 -04:00
Mikayla Fischler
ffc997b84e removed redundant version tag 2022-05-24 22:56:41 -04:00
Mikayla Fischler
4b6a1c5902 fixed incorrect watchdog call 2022-05-24 22:55:27 -04:00
Mikayla Fischler
940ddf0d00 function for duplicate session search code 2022-05-21 12:30:14 -04:00
Mikayla Fischler
3f4fb63029 #52 basic reactor unit object 2022-05-21 12:24:43 -04:00
Mikayla Fischler
44d30ae583 #48 only log every 20 PPM faults (per function) 2022-05-19 10:35:56 -04:00
Mikayla Fischler
6a168c884d #23 device version reporting 2022-05-19 10:21:04 -04:00
Mikayla Fischler
790571b6fc #55 correctly use device IDs vs unit IDs 2022-05-18 13:49:04 -04:00
Mikayla Fischler
6184078c3f #52 work in progress on reactor units 2022-05-18 13:28:43 -04:00
Mikayla Fischler
9c034c366b #8 base class for RTU unit sessions, handle MODBUS error responses 2022-05-17 17:16:04 -04:00
Mikayla Fischler
0eff8a3e6a #8 cleaned up closing logic, added connected flags to RTU unit sessions 2022-05-16 17:13:54 -04:00
Mikayla Fischler
136b09d7f2 util filter table 2022-05-16 17:11:46 -04:00
Mikayla Fischler
11b89b679d #8 redstone RTU output commands 2022-05-16 11:54:34 -04:00
Mikayla Fischler
374bfb7a19 #8 handle redstone RTU MODBUS replies, bugfixes 2022-05-14 20:42:28 -04:00
Mikayla Fischler
94931ef5a2 #8 bugfixes, redstone RTU session 2022-05-14 20:27:06 -04:00
Mikayla Fischler
d3a926b25a fixed require issues caused by using bootloader 2022-05-14 13:32:42 -04:00
Mikayla Fischler
6b74db70bd #8 fixed RTU unit type check 2022-05-13 12:23:30 -04:00
Mikayla Fischler
72da718015 optimized session lookup 2022-05-13 11:38:56 -04:00
Mikayla Fischler
c53ddf1638 renamed RTU_ADVERT_TYPES to RTU_UNIT_TYPES 2022-05-13 10:27:57 -04:00
Mikayla Fischler
45f5843598 #8 renamed rtu_session_unit type to unit_session 2022-05-13 09:49:24 -04:00
Mikayla Fischler
fc39588b2e #8 RTU session for emachine and turbine, RTU session creation, adjusted sequence number logic in svsessions 2022-05-13 09:45:11 -04:00
Mikayla Fischler
9695e94608 plc session terminology change, changed number/integer types 2022-05-11 13:05:20 -04:00
Mikayla Fischler
b985362757 #8 RTU session for boiler, added transaction controller 2022-05-11 13:02:21 -04:00
Mikayla Fischler
0d090fe9e2 #47 supervisor luadoc, bugfixes 2022-05-11 12:31:19 -04:00
Mikayla Fischler
02541184bd bootloader 2022-05-11 11:31:02 -04:00
Mikayla Fischler
22a6159520 updated globals list, fixed packet references that were linking to old controller mistakenly 2022-05-10 17:17:55 -04:00
Mikayla Fischler
e3a4ed5363 catch nil cases, supervisor use loop clock 2022-05-10 17:08:38 -04:00
Mikayla Fischler
6e1ece8183 watchdog cleanup and loop clock object 2022-05-10 13:06:13 -04:00
Mikayla Fischler
168341db39 code cleanup and bugfixes 2022-05-10 12:01:56 -04:00
Mikayla Fischler
25558df22d RTU/PLC code cleanup, #46 changed KEEP_ALIVE to scada message type and use it for the RTU too 2022-05-09 15:00:16 -04:00
Mikayla Fischler
679d98c8bf #8 work in progress on RTU sessions and added unit object 2022-05-09 09:35:39 -04:00
Mikayla Fischler
83fa41bbd0 #45 burn rate ramping is optional now 2022-05-05 16:00:49 -04:00
Mikayla Fischler
89be79192f #44 RPS optimizations, manual trip, RPS handles all reactor state control 2022-05-05 13:14:14 -04:00
Mikayla Fischler
c4df8eabf9 #43 rename ISS to RPS 2022-05-05 11:55:04 -04:00
Mikayla Fischler
b575899d46 #33 lua module/require architecture changeover 2022-05-04 13:37:01 -04:00
Mikayla Fischler
e253a7b4ff supervisor PLC session closing, re-requesting status cache if missing 2022-05-03 17:25:31 -04:00
Mikayla Fischler
dc1c1db5e6 MODBUS bugfixes, utilize new types file 2022-05-03 11:27:40 -04:00
Mikayla Fischler
62b4b63f4a supervisor PLC session bugfixes 2022-05-02 17:43:23 -04:00
Mikayla Fischler
b280201446 #41 cancel session watchdog timer 2022-05-02 11:44:10 -04:00
Mikayla Fischler
76c81395b7 #41 close session connections 2022-05-02 11:42:24 -04:00
Mikayla Fischler
7ff0e25711 #7 sending commands to PLCs, retrying failed sends until confirmed 2022-05-01 17:04:38 -04:00
Mikayla Fischler
479194b589 ISS alarm status packet adjustments 2022-05-01 13:26:02 -04:00
Mikayla Fischler
e1135eac01 log init parameters in config files 2022-04-29 13:36:00 -04:00
Mikayla Fischler
c805b6e0c5 log init function to set path and write mode 2022-04-29 13:32:37 -04:00
Mikayla Fischler
3587352219 log exit notices as info messages not warnings 2022-04-29 13:20:56 -04:00
Mikayla Fischler
d688f9a1c6 supervisor code cleanup, adjusted prints 2022-04-28 22:41:08 -04:00
Mikayla Fischler
f14d715070 #7 PLC session comms link, accept statuses, functional keep-alives 2022-04-27 18:52:06 -04:00
Mikayla Fischler
68011d6734 #32 new threaded PLC code 2022-04-27 12:21:10 -04:00
Mikayla Fischler
f7f723829c #7 work on PLC session comms, bugfixes with comms, general supervisor bugfixes 2022-04-25 21:00:50 -04:00
Mikayla Fischler
3ef2902829 apparently I forgot how to spell receive a few more times 2022-04-25 15:49:04 -04:00
Mikayla Fischler
c46a7b2486 added time functions to util, also task_wait 2022-04-25 10:36:47 -04:00
Mikayla Fischler
074f6448e1 some supervisor bugfixes 2022-04-24 13:22:45 -04:00
Mikayla Fischler
86b0d155fa #31 PPM cannot assume that we will get a fault on failure, apparently sometimes we will only get a nil return so the system can no longer check ACCESS_OK, now each device has its own fault tracking 2022-04-24 12:04:31 -04:00
Mikayla Fischler
416255f41a PLC check sequence numbers, corrected trip time to ms 2022-04-23 21:10:25 -04:00
Mikayla Fischler
fa19af308d bugfix and use timestamp in packet 2022-04-23 20:46:01 -04:00
Mikayla Fischler
852161317d #7 initial PLC session supervisor code 2022-04-23 12:12:33 -04:00
Mikayla Fischler
cd289ffb1e #30 svsessions PLC comms code updated for new comms design 2022-04-22 21:55:26 -04:00
Mikayla Fischler
89ff502964 #30 supervisor comms code updated for new comms design 2022-04-22 21:44:33 -04:00
Mikayla Fischler
6daf6df2d0 active-backup supervisor setups are no longer planned 2022-04-22 11:15:16 -04:00
Mikayla Fischler
1bf0d352a1 supervisor sessions work in progress 2022-04-22 11:07:59 -04:00
Mikayla Fischler
991c855c11 message queue 2022-04-21 12:44:46 -04:00
Mikayla Fischler
3da7b74cfb initial base supervisor code 2022-04-18 11:07:16 -04:00
Mikayla Fischler
013656bc4d supervisor code moved around 2022-03-25 12:18:33 -04:00
Mikayla Fischler
14cb7f96fc supervisor comms init 2022-01-22 14:47:54 -05:00
Mikayla Fischler
4dfdb218e2 SCADA supervisor code started 2022-01-13 10:23:38 -05:00