we'd never say, "Have a soup", would we? -
Yet someone could say "have a smoke" - and "smoke" is also unlikely to be used in plural.