https://www.dropbox.com/s/gq9qabp8gy6t2xq/switch test.cd3?dl=0
Link to cd3 file. The gist of it is, I have 3 valves (3 DO's) each with positive feedback (3 DI's). These will be split into two screens. The main screen will simply have the 'All Valves' button with the 3 indicators. Page 2 will have the 3 individual switches for troubleshooting if it's needed to check each one on its own.
I originally created another control tag "AllValves" for the main swtich, where in the ladder logic that switch activated all 3 switches (instead of doing in in Crimson). But doing it that way there's a lot of problems with them all playing nice together.
For example, if I turn on all 3 valves on their own, the "All Valves" switch needs to flip to indicate they're all on (in addition to obviously the 3 indicators... I guess we can ignore the indicators here). If the "All Valves" switch is on, and "Valve 2" is pressed off, then "All Valves" must indicate off while "Valve 1" and "Valve 3" remain on. If less than 3 Valves are on, the "All Valves" switch should appear off, and upon pressing, should set the remaining off valves to 'on'.
So it seemed to me this is a bit more complicated to try to do with ladder logic, but it seems like it would work if done on the Crimson side with the "All Valves" switch being used to simultaneously write 1's to all when on and 0's to all when off, regardless of state.
edit: the point is that it must be obviously intuitive for the TS operator. Pressing the main button should always make sure all valves are on, and pressing it off should always turn off all valves. But then all three need independent control as well. It's my assumption (hopefully), that if All Valves writes on to Valve 1,2,3, that if I then go to look at those three valves, they will all appear on since they're also reading that same register. But then if I turn off All Valves, will each individual valve turn off, or will they still read on?