Wiring limits and home switches can be handled in a multitude of ways. But first you need to know what cnc control software you plan to use before deciding on a method. While the more modern MACH3 and EMC can handle home and limit switches in a number of ways, sometimes older software such as CNCPro isn't as flexible. Typically limit switches have both normally open contacts (NO) and normally closed (NC) contacts.
Depending on how you want to wire you can wire them in series or parallel with other switches. For example, CNCpro utilizes one input pin for each axis. Commonly that one input pin is wired to two fixed switches, one for home and the other for limit. It could also be used with one switch that moves with the axis and either via ramps or mechanical triggers actuates at the travel ends. Home is defined by the software setup as to which direction the axis is traveling when the switch activates. When using stepper motors, there typically isn't a need for more than two switches per axis. Servo's on the other hand, may need two dedicated limit switches to protect from a open loop failure causing a run away servo. MACH3 software is very versatile and can be configured in many different ways. A common way is to have a seperate home switch for each axis, and one pin to all of the limit switches wired in series utilizing the normally closed contacts. Below is two methods of wiring limit, home and kill switches. By utilizing a series wiring of normally closed limit switches, when one switch opens it sends a signal to the computer to stop issuing step pulses to the axis drive motors. In parallel, you have to use normally open switches to sense a switch activation. The top drawing uses two switches per axis with one being on one end of travel, the other switch on the other end of travel. The switch depected as the home switch can be used as both home and limit in MACH3 and EMC2. '''Utilizing normally closed switches is more noise immune, and thus reduces the risk of false switch actuation. The other noise benefit from utilizing NC contacts is coupling noise back into circuits and wiring for step/direction motor controllers.
This drawing utilizes independent normally closed switches for a home for each of 3 axis.
Utilizing normally open switches in an "or" condition for home wiring below:
My personal preference is one "Home" switch per axis and no other dedicated limit switches. My personal usage is based on EMC and MACH3 which both allow you to define "soft limits". Soft limits define machine travel per axis so that software knows when it's time to be at end of travel. But to use soft limits you need to know a defined hardware locale on the machine or "home". When turning on the machine for the first operation of the session, you tell the machine to go "Home". By definition the software knows which direction each axis needs to travel, and seeks that position one axis at a time. When the software senses the axis has tripped a home switch, it then knows physically where it is located. In addition, MACH3, CNCpro and EMC allow that one "Home" switch to act as a limit switch. The only thing you give up when you use that one switch as both Home and limit is a small amount of travel, as the homing sequence much back off the limit by a predetermined amount for a Home position.