ACR9000 Event Counters

What do the filter values in the subscription requests mean? Are they bitmasks? If so, which alarm does each bit correspond to?
"Filter Values" are bitmasks as shown in the help file for the "Event Counters". The "Bit Index" is used to calculate the "Controller Alarm Filter" value. The "Bit Index" is the binary weight for that particular parameter. To monitor "Stall Detect" as an Ethernet alarm, set the "Controller Alarm Filter" to "32" (2^5).

P36864 - P37096 Event Counter Parameters (OS Version 1.18.13 & Up) Field Bit Object Number Description Index 0 1 2 3 4 5 6 7 Master Move Started 0 36864 36896 36928 36960 36992 37024 37056 37088 Master Move Ended 1 36865 36897 36929 36961 36993 37025 37057 37089 Enable Input Lost 2 36866 N/A N/A N/A N/A N/A N/A N/A Drive Faulted 3 36867 36899 36931 36963 36995 37027 37059 37091 Limit Hit 4 36868 36900 36932 36964 36996 37028 37060 37092 Stall Detect 5 36869 36901 36933 36965 36997 37029 37061 37093 Program Complete 6 36870 36902 36934 36966 36998 37030 37062 37094 Encoder Disconnect 7 36871 36903 36935 36967 36999 37031 37063 37095 Encoder Phase Error 8 36872 36904 36936 36968 37000 37032 37064 37096 CANopen Node Failure 9 36873 36905 36937 36969 N/A N/A N/A N/A

The "Object Number" value across the top denotes which Master, Axis, Program, Encoder, CANopen node, etc. that that particular Event counter applies to. This table is a little unusual as it is much different than the rest of the bit and parameter tables.
NOTE: The ComACRserver does not support Ethernet Alarms
What do the different values for "Controller Alarm long" and "Object identifier" mean?
Once you receive the Ethernet alarm for a "controller alarm", then you will know which error occurred and which object number (object identifier seen in table above) had the problem, as well as the number of failures shown in the event counter. This is useful for intermittent problems as the event counter would show more than one failure on that object.

How does a User Alarm differ from a Controller Alarm? (I have generated Controller Alarms but never a User Alarm.)
The User Alarm is generated by setting bit 112 as stated in the manual. The bit has the legacy title of "Trigger AT Bus Interrupt" but it serves the same function here. Before setting bit 112, your AcroBASIC program running in the controller should write a value into the "User Alarm" parameter, P7140 (not documented.) This value is anything you want it to be. It could be a integer representation of a series of bits or a some other "error code."