Kev77
If using DINTS works for you for oneshot storage bits then keep doing it that way.
For alarms I've developed an affinity for ALMD and ALMA - they are just too handy to not use.
For test bits and the like we define a UDT and call the type PROGRAMMER. It contains a set of Bools called AlwaysON, AlwaysOFF, TOGGLE, a general purpose bool[32] array, a DINT array, a REAL array, a TIMER array, a COUNTER array, and a CONTROL ARRAY. Then tags are created of the PROGRAMMER data type for each of our programmers. This lets us all automatically see which programmer is troubleshooting, debugging, or testing changes to a program. If someone else sees XIC CONNOLLY.AlwaysOFF on a rung then they know it is me who has temporarily disabled something as opposed to an AFI that carries no information with it.
If I want to group bits then I frequently use bit overlays. I hesitate to get too deep into overlays as it is an advanced programming topic, but here goes anyways. An overlay is a special kind of a UDT.
For example, I might have a DINT tag named State. However I want each bit in STATE to have a name, not just a bit position number. I might want something where
State.0 = Reset State
State.1 = Pick up Part
State.2 = Move Part to Fixture
State.3 = Clamp Part
State.4 = Apply glue,
etc.
But rather than remember what each state number is I would like to be able to name each bit, much like a timer has a .DN or .TT bit that has a name as well as a number.
State.Reset
State.Pickup
State.MovePart
State.ClampPart
State.Glue
The overlay lets me reference bits by name and at the same time do something like
MOV 2 STATE (sets state to pickup state)
or
CLR STATE (clear all state bits)
or
State:=State*2 (to advance to the next state, set the next bit up, and clear all others)
This requires that the bits be from a DINT in the UDT. They cannot be bools.
Overlays can offer some significant advantages but they also come with some big disadvantages. You cannot create them in RSLogix5000. You have to create an external XML file to define the overlay and once you import it into your Logix5000 project you cannot change it or edit it. This requires some careful planning. If you want to know more then search the AB KB for the tech notes on bit overlays and I've posted a couple of threads with overlay examples in them that you can find with a forum search.