Just as any other data, put it in an array of 1000 elements, e.g. in a subvi that has local storage in a shiftregister, and fill it up until you get the trigger. Tell that vi that the trigger happened and let it fill up until 500 new datapoints are buffered.
This subvi needs to have several modes like init, start, trigger, and read. Easy to do with a statemachine approach.
If you need more info write to me directly
greetings from the Netherlands