[INSTRM-711] Implement Simplified alertsActor for LAM AIT Created: 16/Jul/19 Updated: 28/Aug/19 Resolved: 22/Aug/19 |
|
Status: | Done |
Project: | Instrument control development |
Component/s: | ics_alertsActor |
Affects Version/s: | None |
Fix Version/s: | None |
Type: | Story | Priority: | Major |
Reporter: | hassan | Assignee: | arnaud.lefur |
Resolution: | Done | Votes: | 0 |
Labels: | SM1 | ||
Remaining Estimate: | Not Specified | ||
Time Spent: | Not Specified | ||
Original Estimate: | Not Specified |
Issue Links: |
|
||||||||
Story Points: | 2 | ||||||||
Sprint: | SM1-2019 K, SM1-2019 L, SM1-2019 M | ||||||||
Reviewers: | cloomis |
Description |
As discussed in last ICS/DRP+SpS telecon 2019-07-10, instead of the full alertsActor implementation of |
Comments |
Comment by cloomis [ 16/Jul/19 ] |
Specifically, there is a template config file for alerts in config/keywordAlerts.py, and I suggest that we implement only the limitsAlert part. E.g. meb: # MCS E-Box flow: <<: *LIMITS_ALERT limits: [0.0, null] alertFmt: 'coolant flow has stopped' temps[0]: <<: *LIMITS_ALERT limits: [10.0, 25.0] alertFmt: 'temperature out of range' xcu_{cam}: # All XCUs pcmPower[bus1]: <<: *LIMITS_ALERT limits: [23.5, null] alertFmt: 'Input power is failing!!: {value}V' pcmPower[bus2]: <<: *LIMITS_ALERT limits: [23.5, null] alertFmt: 'Input power is failing!!: {value}V' |
Comment by cloomis [ 16/Jul/19 ] |
And I'll point out
|
Comment by hassan [ 17/Jul/19 ] |
cloomis: Is your proposal above for the alertFmt in config/keywordAlerts.yaml ? And then regarding the STS logic, would that be a configuration for the 'real' STS server? |
Comment by cloomis [ 17/Jul/19 ] |
Yes. Exactly the same logic for both the fake and the real STS server. I don't think the alertsActor can tell the difference. Note that the actor is currently using the simpler STS.yaml, where the magic integers are the assigned STS IDs. I think we should merge STS.yaml and the more expressive keywordAlerts.yaml Obviously for "STRING+FLOAT" above I should have written "FLOAT+TEXT". The existing Controllers/actorRules.py wires the STS.yaml keywords to automatically forward to the STS server when they get updated. It actually already checks whether there is an entry in .actor.activeAlerts and forwards that instead of "OK". We need to also wire in any limit, etc. checks, which just need to set the entry in actor.activeAlerts. Note also that we probably do not need to debounce or latch errors, since the STS server does that for us. That is a pretty significant simplification. I.e. if a key field goes back within its limits, we can simply set it back to "OK" – the STS server will deal with the latching and give the human a way to clean and rearm. Very nice. |
Comment by hassan [ 18/Jul/19 ] |
Alerts should be generated on the main pressures, temperatures and voltages. |