会,means he have a ability, or he have a skill, he know english, so he can speak english.
能,means get permission so u can do or didn't get the permission so u can't do, for instance:he hasnt' been allowed, so he can't speak in english, but it didn't means he doesn't know english.
可以, equal to 能.
usually, we use 会 to express he know english, or u can use 他懂英语 instead of 他会英语, both the same meaning.
能 and 可以,i can only think of one place to use it: in english class, 你能说英文,不能说中文,in chinese class, 你可以说中文,不可以说英文