How to solve xilinx error ''Simulator:793 - Unable to elaborate instantiated module Half_Adder''?
You forgot to name the two instances of Half_Adder. It has to be like:
Half_Adder my_ha_0 (...) ;

Also you are mapping multi-bit values to 1-bit values while port mapping:
Half_Adder (S,C,w1,w2);

w2 and S are two-bit and three-bit wires, while your Half_Adder expects one-bit inputs/outputs.