As I do a lot of industrial wiring I can add a few things.
Safety circuits such as E-Stop are generally wired in series meaning the output of one switch is wired to the input of the next and so on. So these have to be wired NC so that there is a High signal to indicate the end of a circuit. If any one switch is pressed, this opens the entire circuit. If any wire is broken, this opens the entire circuit. Very clearly the way to go and was figured out a long time ago.
For limit switches, there are two configurations commonly used. If there is a manual switch that can move something, we will generally run the output of the switch through the NC contacts on the limit switch and then on to the starter. This has as much to do with convience as it has to do with safety, it is merely an easy way to minimize wire pulls back to a remote cabinet housing the contactor. If we use NO on the LS, then this would require an extra wire going back and would require a relay to break the circuit. In this setup, it is safe to run the axis as long as the limit switch is Not Tripped.
In the case of a tool carosel, it is very different. We want to know that it is either IN or OUT. We really don't care where it is if it is somewhere in the middle. We just know it is not safe to do anything until it is either IN or Out. In this setup, it is considered safe to do something, when the limit switch IS Tripped.
Lets think about this. In the OUT position, the machine is safe to run (with regards to the carosel anyway). If I wire this LS normally closed, this means that when the carosel is OUT, the signal from this limit switch is OFF. Heres where I disagree with the safest way to consider this. If the wire is broken, is it more likely to short to a high signal, be cut clean, or be shorted to ground? All are possible with the cut clean and shorted to ground being by far the most common. With that said, if we use NC contact, we will be fooled into thinking the carosel is out anytime we have a circuit fail. For example, the carosel is not quite all the way out and it is not safe to run the machine. The out LS wire has broken. We can monitor the IN LS but this only tells us that it is somewhere besides completely IN. Not enough information. My broken wire on the OUT LS indicates its OUT but it is not.
Peter mentioned above
"Using a normally closed circuit, the input circuit is closed in the normally operating condition"
This is only relavent to a STOP circuit. When talking about LS, this statement would be exactly backwards if you were using NC contacts. Normally Closed means that the contacts are closed when the switch is NOT activated. In our Carosel example, the safe zone is when the switch IS activated.
Peter went on to say:
"When the limit switch is hit and opened the input is activated."
But this is only because you inverted the logic on the controller (mach3). The actual input is deactivated and software flips this logic.
"The advantage of this system is that the limit input will also be activated if a wire breaks or a connector becomes unplugged."
In my opinion, this is absolutely the un-safest way to do this. If a wire breaks or a connector becomes unplugged, this setup tells the controller that the carosel is against the OUT LS when in fact, it could be anywhere in the middle. This is the essence of what I am getting at.
I think there is a lot of confusion between a Safety Stop Circuit and the use of Limit Switches. Limit Switches are not saftey stop ciruits and are rarely wired in series with other components except when using a manual switch to activate some thing. Generally, this is not what we are doing. We are wiring a LS to a controllers input to determine if something is safe to move or not. Its our job to try to predict the likely failures such as broken wires, and stuck limit switches. I argue that in the carosel example, using NO contacts is a more reliable solution as it actually does catch the broken wire problem. I think it comes down to this.
The input should be ON (actual input and not inverted by software) when the "thing" in question is in a safe operating position. With that being said, on these types of machines, there are two different things going on.
X,Y and Z limit swithes are used to indicate that the axis is between limits and thus should provide a High signal when not on one of the limit switches. Therefore, we should use N.C. contacts. If a wire breaks, it indicates that a limit is tripped and we stop the machine.
Carosel In/Out, Carosel rotate fwd/rev, gear boxes, tool change.....these limit switches are used to indicate that something is exactly where it should be and should provide a High signal at that point. Its only safe, when we are actually on these limit switches, so they should be wire using the N.O. contacts in my opinion.
This is how I wired my machine. Almost all the documentation I read issues blanket statements about using N.C contacts when in fact, there are three primary situations to consider and they all three are different. Stop circuits, LS used to declare its unsafe when tripped, and LS used to declare its unsafe when Not tripped.