Peugeot 307 - running fault whem rev'ed over 2500rpm - jimbo7

hiya l have a pug 307hdi 1.6 with a fault when revs over 2500rpm then cuts out and wont re start after about 5min. anti polltions light comes on and got faults codes p0087,p1113,p1166. when driving slow its drive fine but if you try and drive it a bit hard it like its only running on half power and has somtimes cut out when driving. you help would be very greatfull