Contributed design: 16 channel priority error handler
This is a block I put on every one of my Rexygen machines. It take binary error signals and prioritizes them, then picks a corresponding status value and string description of the highest priority error (stored in parameters) and sends them out to the hmi or email or texting function, etc. It handles 16 error inputs and outputs a bitmask for all active errors to allow further analysis of coincident errors. Finally, it has a masking function where the current errors are masked for a given time period but the system is still sensitive to new errors, essentially "could you please shut that alarm off!"
I'm working on automated greenhouse designs and use text alerts to let me know what's going wrong. This block is essential to tell me what I need to do to react to error conditions.