Hi Des,
You will probably want to look at implementing rel=alternative hreflang="xx" in this case and you usually do not want to be putting a rel=canonical pointing at the .com site from the .co.uk site. Google has removed the text referring to the canonical tag from the relevant help page on hreflang exactly due to the confusion you mention in your question. As I understand it you can still use a self referencing rel=canonical tag if you like, but the hreflang is the best way to declare to google that you have language/region specific content available on other urls. Having both hreflang and a canonical tag pointing to the .com site might get you UK searches showing the .co.uk site url (from the hreflang) but showing title and description text from the .com site (because of the canonical tag). Check out these 2 links for a bit more info:
https://support.google.com/webmasters/answer/189077?hl=en
http://dejanseo.com.au/canonical-vs-hreflang/
Hope that helps.
