When taking the ICE (long-distance high speed train) to FRA, there is something else to consider: The German Railways (Deutsche Bahn). The trains can be quite delayed, which messes with your whole planning. I always plan another 30 minutes to an hour when travelling with them, especially if you are catching a long-haul flight. In your case, this would mean to take the train that arrives 3:15 before the flight.
For example, on the route Köln HBf-Frankfurt Flughafen, 26,0% of the 4667 trains were delayed. Average delay was 18,3 Minuten, but note that this is an average. I have travelled quite a lot on this route and I had everything from on time (<5 minute delay) to 2 hours.
Data source: Interactice Map from Süddeutsche Zeitung. Note that the data is from 2013.