The latest distro versions of smartctl are totally capeable of doing this, so here you go.
Depending on which type of 3Ware controller you have, the devices are either labled twe or twa.
The easiest way to check on this is to look into your /dev and search for tw:
ls -ls /dev/tw*
So once we have figured that out, we start smartctl with the follwoing parameters:
smartctl -a -d 3ware,0 /dev/twa0
This tells smartctl to check port 0 behind the first 3Ware controler. For port 1:
smartctl -a -d 3ware,1 /dev/twa0