I've done this with a spreadsheet. Basically, you calculate the inventory in the vessel at the initial pressure, temperature, MW, etc. The dP between the vessel and the outlet of the pipe along with the piping size, length gives you an initial flow rate. Let the flow continue for some period of time (depends on the inventory and the flow rate, you basically want to remove a small fraction, but not infinitely small, portion of the vessel's inventory), recalculate the mass remaining in the vessel and from that, estimate the new pressure and hence new flow rate. Continue in a stepwise fashion. For a good portion of the blowdown, you'll have chocked flow down the discharge pipe.
As the pressure falls, the temperature of the gas in the vessel will decrease and the compressibility will change also. You can correct these manually (eg. run a simulation every so often to generate new numbers) or develop a correlation and use that directly in the spreadsheet.
Also, Pro/II and Hysys also have a depressuring option in their process simulators if you have access to either of them.
I used this approach once before I got access to a more sophisticated method, the answers were surprisingly close. If you have a boiling liquid in the vessel as you are blowing it down, that is going to complicate things but the approach is generally the same.