SET_VIRTUAL_X_COUNT
vining
Posts: 4,368
I guess I never paid attention before and just noticed this so I figure I'd post it for reference.
Normal virtual device, 255 channels & 8 levels.
When setting virtual level count to 9 system adds a another block of 8 levels for a new total of 16 levels.
If you then set the virtual level count to 17 system adds a 2 blocks of 8 levels for a new total of 24 levels.
If you now increase the channel count from 255 to 256 the system adds another block of 255 channels for a new total of 512 channels. I don't get the 512 though, I expected 510.
So in my case I only needed 9 levels and I could probably scrap one to stay with in the default 8 limit. If the system just added a single level when I set the count to 9 that would be fine but now I need to decide if the extra resources being assigned are worth 1 extra level that I could probably live with out.
In my situation it doesn't really matter that much since my resources aren't strecthed that thin but in other systems it may be something to consider before increases these counts just to add 1 or 2 levels or channels.
Normal virtual device, 255 channels & 8 levels.
---------- Checking Port Status for [33001:1:2] ---------- Output Channel Count [33001:1:2] - 255 Level Count [33001:1:2] - 8
When setting virtual level count to 9 system adds a another block of 8 levels for a new total of 16 levels.
DATA_EVENT[vdvTP] { ONLINE: { ON[vdvTP,255] ;//only_means_the_virtual_TP_is_online SET_VIRTUAL_LEVEL_COUNT(DATA.DEVICE,9) ; } OFFLINE: { OFF[vdvTP,255] ;//only_means_the_virtual_TP_is_offline } } ---------- Checking Port Status for [33003:1:1] ---------- Output Channel Count [33003:1:1] - 255 Level Count [33003:1:1] - 16
If you then set the virtual level count to 17 system adds a 2 blocks of 8 levels for a new total of 24 levels.
DATA_EVENT[vdvTP] { ONLINE: { ON[vdvTP,255] ;//only means the virtual TP is online SET_VIRTUAL_LEVEL_COUNT(DATA.DEVICE,17) ; } OFFLINE: { OFF[vdvTP,255] ;//only means the virtual TP is offline } } ---------- Checking Port Status for [33001:1:2] ---------- Output Channel Count [33001:1:2] - 255 Level Count [33001:1:2] - 24
If you now increase the channel count from 255 to 256 the system adds another block of 255 channels for a new total of 512 channels. I don't get the 512 though, I expected 510.
DATA_EVENT[vdvTP] { ONLINE: { ON[vdvTP,255] ;//only means the virtual TP is online SET_VIRTUAL_LEVEL_COUNT(DATA.DEVICE,17) ; SET_VIRTUAL_CHANNEL_COUNT(DATA.DEVICE,256) ; } OFFLINE: { OFF[vdvTP,255] ;//only means the virtual TP is offline } } ---------- Checking Port Status for [33001:1:2] ---------- Output Channel Count [33001:1:2] - 512 Level Count [33001:1:2] - 24
So in my case I only needed 9 levels and I could probably scrap one to stay with in the default 8 limit. If the system just added a single level when I set the count to 9 that would be fine but now I need to decide if the extra resources being assigned are worth 1 extra level that I could probably live with out.
In my situation it doesn't really matter that much since my resources aren't strecthed that thin but in other systems it may be something to consider before increases these counts just to add 1 or 2 levels or channels.
0
Comments
The following code is on a regular virtual device, with no special set_virtual_channel_count anywhere else in the program. It executes perfectly. Pulsing channel any of the 4 channels generates the text changing on the panel as noted.
However, if you don't specifically declare that that channel might be pulsed, it doesn't work.
The second code block only generates text on the panel up to channel 255. You only have to issue set_virtual_channel_count if you're not going to declare the exact channel you might be pulsing in the code.
Beyond that, in the first code block, it does exactly what you were referring to. Having a channel event for channel 384 suddenly makes that virtual device have channels up to 511 (or 510, I'm not really clear on that).
Anywho, just seemed related to what you found. Hope its helpful.
J