Yes, it's Standard Answer #0 - IT DEPENDS.
There are actually two questions you are asking simultaneously, which might be what's tripping you up:
1) How many tags for a given number of I/O will I need?
2) How many tags can be created in a PanelVeiw 550 (i.e., is this box enough, or do I need something bigger/else)?
It depends not just on what you are trying to do (e.g., display information), but also on how you are trying to do it.
For example, take a simple valve XV-123, with open and closed limit switches XVC-123 and XVO-123.
One way to animate this is to draw the valve and animate it with a tag that reads the output to XV-123. Next to it have a multistate object with the text "CLOSED" (with colors black on black or red on black) whose tag monitors the input for XVC-123, and another one for "OPEN" green-on-black tied to XVO-123. Three animations, three tags.
Alternatively, in the PLC, you can map the closed limit switch to bit 0 of a single word, XVO-123 to bit 1, and output XV-123 to bit 2. No you have a single word with the following truth table:
Value | Description
=== ==============
000 CLOSING (Valve not energized, but not yet closed)
001 CLOSED
010 CLOSING (Just, or perhaps stuck open)
011 TROUBLE (one of the limit switches, probably XVO-123, is stuck)
100 OPENING (valve energized, but not yet open)
101 OPENING (just, or perhaps stuck closed)
110 OPENED
111 TROUBLE (a limit swtich, probably XVO-123 is stuck)
You can create a single tag to read this one word (or array of 3 bits), and create/animate a single multistate object with a graphic and text.
So which one takes less Panelview memory? I don't know, and I'm not sure anyone else does either!!!!
Huh?
Its a trade-of. Two less tags, and two fewer objects, but you've gone from 2 times 2 states (with assoociated text in the text database) to 8 states of text. I would guess the later is more memory friendly, but I would be guessing. There's just no way that I know of to know, until it's done.
Multiply this by lots of different screen objects, different screens, different goals, and the whole thing is a crapshoot. Even Panelbuilder doesn't know if the application will fit in the terminal until it tries to download to it (at least in v 3.71 and lower. I don't have 3.80 yet). A project will verify just fine, you go to downlaod it, and THEN you are told that there's not enough memory. And if you choose IGNORE, and download it anyway, then go to the Configuration Menu on the Panelview, you find that there's LOADS of memory left, you just can't use it because it's "reserved for fonts and bitmaps" (<== this from Rockwell tech supposeort)
... Ahem.
Sorry about the rant.
But again, it goes back to what you are trying to do. You might save memory on one screen by combining bits, but if you have a screen that shows the status of each point in the PLC, you may still need/want to have an individual tag reading the single point.
But that's just Panelviews (and their ilk). Things can get really complex when you move on to SCADAs (Wonderware, et al). In Panelview animations, you animate a single object with a single tag. SCADA-type HMIs allow for multiple types of animation (visabliity, color, position, etc) with calculations based on tag values. There, you usually know your tag count limit, based on the size of the licence, but as I showed above, all sorts of games can be played to reduce the count.
Any more questions?