Csmio/Ip-S: 6-Axis CNC Controller (Step/dir)
Csmio/Ip-S: 6-Axis CNC Controller (Step/dir)
CONTENT
1. General ............................................................................................................................................... 5
1.1 Signs used in this guide ............................................................................................................... 6
1.2 Content ....................................................................................................................................... 6
1.3 Standards compliance ................................................................................................................. 7
1.4 Specification................................................................................................................................ 7
2. Safety .................................................................................................................................................. 8
2.1 Example of direct E-Stop Signal connection................................................................................ 9
2.2 Example of E-Stop Signal connection using PILZ module .......................................................... 10
3. Recommendations for mechanical installation................................................................................. 11
3.1 Examples of components arrangement in a control cabinet. ................................................... 11
3.1.1 Block scheme pictorial view ............................................................................................... 11
3.1.2 Control cabinet made by CS-Lab Company ........................................................................ 12
4. Connectors, controls and electrical installation of the device .......................................................... 13
4.1 Connectors arrangement on the device ................................................................................... 13
4.2 STEP/DIR controlling signals connector (CSMIO/IP-S v2) .......................................................... 14
4.2.1 Signals on a Terminal Block connector .............................................................................. 15
4.2.2 Example – M542 drive connection .................................................................................... 15
4.3 Digital outputs connector (0-15) (CSMIO/IP-S v2) .................................................................... 16
4.3.1 Output circuits construction .............................................................................................. 17
4.3.2 Signals on a Terminal Block connector .............................................................................. 17
4.3.3 Examples – spindle switching signal .................................................................................. 18
4.4 Digital inputs connector (0-15) (CSMIO/IP-S v2) ....................................................................... 19
4.4.1 Input circuits construction. ................................................................................................ 20
4.4.2 Signals on a Terminal Block connector .............................................................................. 20
4.4.3 Examples of input signals connection ................................................................................ 21
4.5 Digital inputs connector (16-31) (CSMIO/IP-S v2) ..................................................................... 23
4.6 Analog inputs/outputs connector ............................................................................................. 24
4.6.1 Signals on a Terminal Block connector .............................................................................. 24
4.6.2 Example – connection and configuration of potentiometers ............................................. 25
4.7 Expansion modules connector .................................................................................................. 26
4.8 Power connector....................................................................................................................... 26
4.9 Communication connector – Ethernet...................................................................................... 27
4.10 Recommended cables ............................................................................................................... 28
4.11 Installation examples ................................................................................................................ 29
4.11.1 Inverter connection using analog output........................................................................... 29
4.11.2 Illustrative diagram of XYZ plotter (CSMIO/IP-S v2) ........................................................... 30
1. General
CSMIO/IP-S motion controller was designed for professional customers, who want to equip their
machine tool with an efficient, stable and flexible CNC control system for a reasonable price.
Our main goal is to achieve operation stability – hence the PC connection via Ethernet (its physical
layer is galvanically isolated and protocols we use ensure reliable and fast transmission even in tough
industrial environment). Practically any other interfaces do not provide the continuity and reliability of
transmission on such a high level as the ETHERNET. That is why it is currently the worldwide standard
for high-speed digital communication.
Another important goal was simplicity of installation. CSMIO/IP-S does not require any external elec-
tronics for proper operation. Inputs/outputs signals are inside optically isolated, filtered, protected
against short circuit, overheating etc. All signals are adjusted to industry standard 24V. The device is
enclosed in a compact cover, mounted on a DIN-rail, what makes that mechanical and electronic in-
stallation in a control cabinet takes less time and is even simpler.
CSMIO/IP-S product can work with three different control software: simCNC (by CS-Lab), Mach3 and
Mach4 (by ArtSoft Newfangled Solutions). The oldest and the best known is Mach3 software. As it
showed up it provided great ability to adapt to specific requirements at low price. This way it became
very popular. Mach4 software provides even better flexibility, better stability of work and more fea-
tures.
Basing on many years of experience with many different types of CNC machines CS-Lab created the
simCNC software as an alternative to Mach3 and Mach4. It provides features that many users could
not get using other CNC control software. In between the S-curve profile which allows to keep very
high axis accelerations without any noticeable knocking in a drive train system. Advanced optimization
and precision algorithms help you to achieve unusual dynamics and accuracy of machining. simCNC is
professional and on the other hand, simple to use. It provides reliability and maximum efficiency
(treatment is fast, dynamic and precise). SimCNC software is still actively developed to be the best
solution to replace the very expensive top control systems for CNC machines.
CSMIO/IP-S supports the popular step/direction standard (step/dir) as the drivers control interface. It
can control both the stepper motor drives and the most modern servo drives. Frequency of stop signal
that reaches to 4MHz (Mach3) or up to 8MHz (simCNC, Mach4) provides maximum advantage of
stepper division in stepper motors still reducing resonance and significantly improving performance of
propulsion system. It also allows for taking full advantage of encoders with large number of pulses per
rotation in servo drives, and the same lets you to achieve such precision and speed, which previously
were unavailable in this price sector.
Warning, failure to comply with these warnings may lead to inappropriate functioning or dam-
age of the device
1.2 Content
The CSMIO/IP-S set includes terminal block adapters for easier wires connection in a control cabinet.
More content details below:
If you can't find any of these parts in your package please contact your supplier.
CSMIO/IP-S controllers were designed and made in accordance with national and international stand-
ards for industrial control systems based on electronic components:
• Detailed requirements for programmable controllers: working characteristics, shock re-
sistance, safety etc. EN61131-2 (IEC1131-2), CSA 22.2, UL508
• Compliance with European Guidelines (low voltage, level of electromagnetic interference
Electromagnetic Compatibility), the CE marking.
• Electrical and non-combustible properties of insulation materials: UL 746C, UL 94, etc.
• The Product made in lead-free technology, RoHS compliant.
1.4 Specification
PARAMETER VALUE
Number of digital inputs 32
Number of digital outputs 16
Number of analog inputs 4
Number of analog outputs 2
Supply voltage 24VDC +/-10%
Power consumption 5W
Maximum voltage on in/out lines 30VDC
Maximum load of an output line 250mA
A voltage range of analog inputs 0-10VDC
Maximal load of analog output 5mA
Axis drives control type STEP/DIR [RS422]
Maximum frequency of a STEP signal 4MHz
STEP signal duty cycle 50%
PC connection Ethernet 10/100Mb
Ambient temperature range 0oC to +60oC
Relative humidity 10% do 95% (without condensation)
The STEP outputs signals frequency are in no way limited by the „Kernel speed” settings in Mach3
software. While using the CSMIO/IP-S controller this Mach3 configuration parameter is unused and
can be set on any value.
2. Safety
CSMIO/IP-S device is powered by 24V safe voltage. I/O control lines are optically isolated, also PC con-
nection is galvanically isolated. The device does not constitute direct threat to health and life of a user.
Designing a complete control system (control cabinet), you should draw attention to several issues, so
that the entire system does not pose any hazard during use.
Always use NC contacts (Normal Closed) for limit switches and safety switch. Thanks to it - a wiring
mistake or i.e. plug-ins disconnection will stop the machine.
Pay special attention to an emergency stop circuit. Control system must be designed in such a way
that when you press an emergency stop mushroom, controlled machine stops immediately in all axes.
You should also take into account the possibility of failure of particular system components such as
main controller, or axis drives.
For that you can use a standard safety relay (it's not required, it's an option). The safety switch mush-
room, FAULT signals of drives and inverter and eventually other alarm signals – you should connect to
input circuits. Output or outputs should be connected to CSMIO/IP-S controller, and defined as emer-
gency stop. Outputs of security module should be also connected to axis drives, inverters, etc. This
way we get double protection – if, by inappropriate configuration or CSMIO/IP-S controller failure - the
emergency would not work, then information goes to axis drives, which can properly respond to it. It
works both sides: if drives would not react, you always have the controller.
The CSMIO-IP/S Controller in active state on the input line - defined as E-Stop, blocks the STEP signals
within 0.0005 s. It happens autonomously, without Mach3 software and thus the machine stops very
fast. The same happens with reaction to signals from limit switches.
In the example above we used direct emergency signals connection. Such a connection is very easy
and at the same time, it ensures satisfying safety level. Of course, the easiest way is to connect the E-
Stop only to CSMIO/IP-S but then we lose double protection and it is no longer so safe solution.
As a switch (mushroom) of emergency stop always use special switchers, specially designed for that.
They have different construction and you can be actually 100% sure that the circuit will be discon-
nected after pressing the mushroom. Using common NC contacts is dangerous. It is worth to use con-
tacts from reputable companies. They are a little bit more expensive but their quality is much, better.
PILZ
PNOZ X7 24 V
Above you can see an example of E-Stop signal connection to the CSMIO/IP-S controller and to the axis
drives, using Pilz company safety relay (PNOZ X7 24V symbol). S1 is a reset button (switching on the
safety relay), S2 is the emergency stop. The safety relay is an option, it's not required.
This module has one input, and due to it, all the alarm sources are connected to this input (A1). In
addition to the mentioned emergency stop (S2) there are NC contacts - NC1 and NC2, which may be,
e.g. opening sensors for a cover and a control cabinet. Moreover, there are drives FAULT signals con-
nected in series. Two outputs of the safety relay were used as the E-Stop signal for the CSMIO/IP-S
controller and axis drives.
This combination assures that machine stops in case of failure on any axis (FAULT signals of the
drives), by pressing the emergency stop mushroom and opening the cabinet or the cover. Separation
of output channels of the safety relay gives double protection to a system and significantly increases
reliability of the entire system.
Caution is advised during mechanical and electrical installation. Poorly tightened cable may cause
many problems, it is also very difficult to find such a defect while launching/using the system.
Expansion modules
connector
Power connector
DB Terminal block connectors have the same pin numbers as DB connectors in CSMIO/IP-S device.
In example: 15 pin of DB25 connector match with the 15 pin on the terminal block.
If your CSMIO/IP controller is older than 2012: There were some hardware improvements made in the
CSMIO/IP-S v2 controllers therefore the pin topology on STEP/DIR, DIGITAL OUTPUTS and DIGITAL
INPUTS connectors is different for version v1 and v2. To define your version of the controller read the
first 4 figures of a serial number.
• Numbers starting with 1119… and below means version v1
• Numbers starting with 1120… and above means version v2
• Since 2015 there has been the FP4 version for Mach4 and simCNC software support (FP4
sign placed on CSMIO/IP front panel)
During STEP/DIR signals connection to a drive (both servo and stepper) you should pay attention to
which STEP edge is active. In the controller, a rising edge is the active edge so it is STEP+ signal change
from "0" to "1". Connecting the controller e.g. of M542 stepper motor you should connect the PUL+
signal to STEP+, and STEP- output with CSMIO/IP-S to the PUL- of the controller. This way switching on
the optocoupler in M542 will follow at rising edge of CSMIO/IP-S STEP signal. Improper connection
may cause position errors.
In the example below there was shown connection of M542 drives as X drives.
If we do not care about CSMIO/IP controller and digital outputs supply potentials separation and we
want to use one supply source then we can link power supply of all the groups (pins 1, 4, 7, 10) and
connect to controllers +24V supply. Of course you must also connect supply primary lines, 0V (pin 14,
17, 20, 23) to GND of CSMIO/IP controller power supply.
In this example sensor with NPN type output was connected to input no. 8. In Mach3 software, we
give in this case: port=10 / pin=8.
Analog outputs no. 0 and 1 have max. load of 100mA. Exceeding this value may
cause damage of the device.
Pay special attention not to exceed the permissible voltage (10VDC) on the inputs
lines. It may cause damage of the device.
10V output has 50mA load and serves only to supply the potentiometers, if you
want to connect the potentiometers, such as regulation of feed rate or spindle
speed correction.
Connecting analog signal from plasma generator you must remember that it
should be galvanically isolated signal!
Connecting with use of simply voltage divider do not protect against surges and
may cause controller damage.
Connector serves only for CS-Lab s.c. expansion modules. Do not plug it into any others
devices, PC, etc.
Pay special attention to not exceed the permissible power voltage (30VDC) on the input
lines. It may cause damage of the device.
If you use in the system such inductive loads as electromagnets, solenoids, electromag-
netic clutches – it is recommended to use separate 24V power supply for the men-
tioned receivers and separate for CSMIO / IP-S.
During mechanical and electrical montage – particular caution is advised. Poorly tightened cable may
cause many troubles, it is also very difficult to find such a defect during launching/using the system.
In the example above, you can see the simplest connection of an inverter to operate spindles in an
engraving plotter.
Outputs 4 and 5 power DB25 – Digital outputs (0-15) 4 24V output for controlling signals
Do no forget to set the configuration parameters of the inverter properly. Incorrect settings may
cause - in the best case - the inverter error, in the worst - the spindle motor becomes
permanently damaged (such damage is not covered by warranty).
Mach3 software configuration, concerning use of a spindle with revs control was described in
chapter 10 - "Mach3 Configuration".
The scheme presented in this section is the simplest implementation of 3axis plotter (XYZ).
Two power supplies were used: 24V to supply the CSMIO/IP-S controller and 80V for the stepper mo-
tors drives. Switches used: normally close (NC) switches for axis homing (HOME) and limit switches
(LIMIT). In practice, it is necessary to build more complex systems, however the example above shows
the main rule.
The CSMIO/IP-S controller allows for automatic control of drives power supply and eventually some
other devices. Switching on this function was described in Chapter 10th. The logic of the output opera-
tion, defined as so-called „HV Enable” is very easy. Voltage is enabled at the moment of Mach soft-
ware “Reset” request and stays “on” until one of the following conditions exist:
• FAULT signal from any axis drive
• E-Stop signal (the emergency stop mushroom pressed)
• Limit switch activation
• Loss of communication with the Mach3 software
• Error of position/speed regulators inside the CSMIO/IP-S
Here is an example of connected outputs used as „HV Enable”. The output number is irrelevant, it is
defined in the configuration window of the Mach3 software.
When you use large contactors for switching off the power, check if the coil doesn’t take more than
250mA. If so, use smaller transmitter and turn on the bigger one with it. With a large contactor it’s
good to have a diode and noise-suppression condenser to eliminate the overvoltages generated
during switching off the coil.
The „HV Enable” voltage control function is performed automatically by the CSMIO/IP-S controller.
Response time for events that cause the disconnection is less than 1ms.
On the front panel of CSMIO/IP device, there are groups of LEDs that simplify verifying the correctness
of electric installation and diagnostic of such components as HOME switches, LIMIT switches and safe-
ty switches (E-Stop) etc.
Digital inputs 0-15 LEDs and error signal- Digital output 0-15 LEDs and device sta-
ization (ERRx) LEDs tus signalization (STATx) LEDs
• Digital inputs and outputs LEDs do not require more explanations. For example, if you
give the signal to the input no. 5, the IN5 LED lights up. Similarly, if you switch on the out-
put no. 2 – OUT2 LED lights up.
• CAN diode lights up when at least one expansion module is connected and when the
communication on the CAN bus is correct.
• RS485 diode lights up if there is a communication on RS485 bus.
• RS232 diode lights up if there is a communication on RS232 port.
• ETHERNET diode lights up if the controller communicates with a PC computer.
• ERR0-ERR3 diodes indicate controller errors. During normal operation, any of these di-
odes should not light up. If any of them light up you should contact service – “contact”
tab on http://www.cs-lab.eu website.
• STAT0-STAT3 diodes indicate controller status, information about the status is very help-
ful information that CS-Lab service should get if there are any problems during the device
work. Below you find detailed description of the lights meaning.
Readiness state. It means that the device works correctly, there are no alarm
signals, such as E-Stop or LIMIT. CSMIO/IP-S waits for the commands from
the PC.
It means that one or more axes are currently on a manual motion mode
(JOG).
Explanations:
Choice of appropriate motors for a machine is very individual. In this chapter, we describe briefly dif-
ferences between stepper and servomotors. Designer practice shows there is a dilemma – what solu-
tion should be chosen. Not so long ago – stepper motors were more popular in simpler machines be-
cause of high prices of servo drives. Presently, technological progress and a dissemination of servo
technology causes that building a machine – even as a hobby – it is worth to consider servo drives.
If we use the motion controller with fast STEP outputs like CSMIO/IP-S, the important parameter of
the motor drive is maximum frequency of the steps. Controllers with higher frequency limit of STEP
signal allow you to use higher stepper division (for the stepper motors) or encoders with larger pulses
number per rev (servo).
However, everything has its pros and cons. So what are the disadvantages of servo drives? They are
certainly more expensive - how much, it depends what kind of stepper and servo drives you compare.
There are e.g. stepper motors controllers that cost 800 USD and there are some other that cost 40
USD (with the same power!). Generally we can conclude that the servo motor + drive package is more
expensive. Other disadvantage of the servo drives is necessity for PID controllers tuning and wiring
that is more complicated. That will be the end of the disadvantages. Great advantage of the servo
drives is that - thanks to the feedback - the servo drive indicates the overload and positioning error.
When the CSMIO/IP-S receives this signal immediately stops the axes. In the stepper motors there is
no feedback like this one, so even if one of the axis because of e.g. overload will not keep the set tra-
jectory, the machine will continue the work – breaking the same entire processed detail.
In sum – we recommend the servo drives. Their disadvantages are negligible in comparison to the
benefits they offer. Please note that the servo drive can have much lower nominal torque than holding
torque of the stepper motor. When we compare the 3Nm stepper drive and 3Nm servo drive – the
price difference may be significant. However, if we compare the 3Nm stepper drive with the 1Nm
servo drive, the price distance is not so big.
Practice shows that sometimes - mechanically identical machines are sold in two versions, with 3Nm
stepper and 1Nm servo drives. The machine with the stepper motor reaches max 7,5m/min feed rate
and 0,1g. acceleration. The machine with the servo drive reaches 20m/min feed rate and 0,4g. accel-
eration. If we add the feedback, which was mentioned before, further comparing is pointless.
The choice is in your hands of course, in some solutions the stepper motors are adequate and work
very well. Thanks to perfectly precise STEP signal timing of the CSMIO/IP-S controller the stepper mo-
tors behave much better then while controlling from e.g. the LPT port. We can use a higher stepper
division, so the motors will work quieter, smoother and they get higher revs by reducing the reso-
nance.
CSMIO/IP-S is STEP/DIR type controller and does not have an encoder input. It does not mean that it is
impossible to base on INDEX. You can use built-in CSMIO/IP-S function or function of synchronization
HOME signal and INDEX in servo drive.
That is why, during function configuration we also give pulses number per rev and CSMIO/IP verifies
whether index is in safe distance (minn15 degrees, or so 1/24 motor revs).
According to the fact that CSMIO/IP-S has no encoder inputs, index signal is connected to standard
digital inputs of the controller. The problem is that the controller requires 24V logic signals. However
many servo drives have index output “open collector” - type and then we can handle it easily.
As it is shown - pull-up resistor is enough. However sometimes we do not have “open collector” –type
output available, then the only way for homing on index is to add external, simply electronic system:
In this case, we must use directly the encoder signal or servo drive TTL encoder output. Aesthetic
connection will be in this situation a little troublesome.
Choosing servo drives we should pay attention to that they have index output “open collector” – type.
Thanks to it, we connect index signal to the CSMIO/IP controller without any problems. These output
you can find in servo drives by CS-Lab s.c. (http://www.cs-lab.eu) simDrive, servo drives by Delta
(http://www.delta.com.tw).
To do the homing on INDEX this way we need the servo drive with a function of HOME signal and en-
coder index synchronization. In between offered by our company the simDrive Servo drive has this
function.
In a situation when you are choosing a servo drive and you want to see if it will be possible to do hom-
ing on index, the HOME signal synchronization should look like this:
As shown on the diagram above, the drive should extend the active state on the HOME output until it
step on the encoder index. During the tests with simDrive the achieved homing accuracy at
2000mm/min speed and encoder’s 10000imp/rev - ranged +/-1 imp. of the encoder.
That detailed homing is useful in practice, because after power failure or E-Stop pressing or any other
incident that causes that we need to re-home, we are sure that there will be no trace in a place where
the process was continued.
Homing algorithm in the CSMIO/IP-S is made in such way, that the base point does not change even
after acceleration and/or speed for the axis changed. It gives the possibility to adjust the acceleration
parameter during the process (requires a temporary stop, configuration parameters change and re-
homing).
You should note that at the moment you back off the HOME switch, the rotor should be turned for
min. 15o to the index point, because - if the index would be very close to the Home switch travel back
off point then homing dispersion may occure. In case the back off point and the index are to close, you
have to adjust the HOME switch position. Do not regulate on the encoder!
For direct connection, you should set static IP address on your computer: 10.1.1.1 and mask:
255.255.255.0.
• Click right mouse button on „My Network Places” icon and select „Properties” position
from the menu. You will see window with the icons/icon of network connections.
• Click right mouse button on the icon of a connection we want to use to communicate
with CSMIO/IP (usually it is “local connection”) – then choose „Properties”.
• In this window – select the „Internet protocol (TCP/IP)” position and click left mouse but-
ton on the „Properties”.
• In this window enter the IP address: 10.1.1.1 and mask: 255.255.255.0. Click “OK”.
• Close the window.
• The network is now set to work with CSMIO/IP.
Click with right mouse button and select “Properties” of network connection.
Double click on TCP/IPv4 protocol, and next enter the address IP: 10.1.1.1 and network mask:
255.255.255.0. Confirm with OK.
After CSMIO/IP- controller initialize it tries to set its IP automatically at first (it sends request to the
DHCP sever). After three failed attempts, with no response from the server- the default IP address is
set to: 10.1.1.2. It does not last longer than 10 sec. but you should remember to wait 10 sec. after
switching the power on, to let the controller communicate.
Even though the ethernet connection is highly resistant to interference - remember to use shielded
cables, especialy if you use serves or spindles with high power.
When you connect the CSMIO/IP-S controller to a network with router, you should use a non-
crossover cable (so called Straight Thru, or 1:1). The wiring way is shown below:
In most cases, the crossover cable attached to the device will also work, because most routers have
function of cable type auto-detect, so called AutoMDX. Do not worry. In no case, there will be no
damage, even if the router does not have the function mentioned above.
Even though the ethernet connection is highly resistant to interference - remember to use shielded
cables, especialy if you use serves or spindles with high power.
CS-Lab Company is an authorized distributor of Mach3 and Mach4 software in Poland. If you would
like to buy the license, please contact us: office@cs-lab.eu.
Please note that Mach3 software serves only to operate a machine - it is not possible to design, draw,
etc. Indeed, there are functions that allow for CNC code generation for simple operations, but it is
better to have a CAM type software, like ArtCam, MasterCam, etc.
Recommended PC configuration:
• Processor Intel CoreDuo 2GHz
• 2GB RAM
• Graphics card 512MB
On a computer used to control a machine there should not be any other software except Windows®
and Mach3 software installed. Designing and all other tasks should be performed on other computer.
A computer used to control the machine can be connected to a computer network, but remember
about good anti-virus protection.
It is recommended to disable all visual effects in Windows® system, also a screensaver. Set power
scheme – “always on”.
If the computer is placed with the rest of control system in a control cabinet – then remember to close
the Windows® system before turning off the power. Otherwise, it may be very soon necessary to rein-
stall the operating system.
9. Software installation
Before we begin our work, we should install the Mach3 software and plugin that ensures proper co-
operation of the software and the CSMIO/IP controller on a PC computer.
Next, we can create a configuration profile, which we are going use. You can also create the configura-
tion profile later. If we want to do it during the installation, then – click selecting your machine type:
After you click one of the buttons, you will see a window to name
your configuration profile, e.g.:
“MyMillingMachine_400x250_CSMIO_IP”.
Avoid spaces and special signs (an underscore is allowed).
CSMIO/IP firmware is provided as a convenient-to-use installer. Setup proces is very fast and does not
take even a minute.
Click „Next” and … again „Next” – there are no reasons to modify installed components.
Next, we can choose a path for Mach3 software and decide if it should be installed for all users. Mostly
we just leave the default settings and then double-click „Next”.
Name selection in start menu - mostly there is no need to change anything here also - click „Next” and
again „Next” when you see a summary review.
After this lasting few seconds setup another window will show up - with question if you want to launch
CSMIO/IP controller firmware that serves to controller updates. If you are not sure if you have the
latest version, you can update it now. Update process was described in B Addition.
If you do not want to update now deselect the „Launch CSMIO/IP-S Controller Firmware” option and
click „Finish”.
Mach 3 plugin and CSMIO/IP-S firmware must be the same version. Update the controller firmware if
needed. The update process is described in the addition section - „CSMIO/IP firmware updating”.
After software installation, you should configure it all to match the settings and the controlled ma-
chine with whole its electrical system.
Elements that should be configured:
• Scale-up of each axis (namely how many pulses per millimeter/inch).
• Speed and acceleration settings for each axis.
• Assignment of in/out signals:
o Signals of homing sensors – HOME
o Signals of axis limits – LIMIT
o Signal of an emergency stop – ESTOP
o Signal of tool measurement probe/ homing etc.
o Additional inputs signals e.g. desktop buttons etc.
o Alarm signals of servo drives – FAULT
o Drives reset – DRV_RESET
o Drives voltage enabling– HV_ENABLE
o Outputs that activate spindle, cooling etc.
• Slave axis configuration (if used).
• VisualBasic® scripts configuration.
• Axis range settings for the SoftLimit function (software limits).
• Homing speed settings
• Software design customization (eventually).
Configuration is an individual matter for each machine; anyway, in the next sections you will find some
general rules.
If during the installation you did not create a configuration profile (Chapter 9), it is worth to create it
now. In this profile will all the settings of configured machine tool be saved.
After Mach3 software installation, you should see new icons on your desktop, „Mach3 Loader” icon
among them - launch the software clicking on it. A „Session Profile” window will appear. To create a
profile click on the „Create Profile” button.
C:\Mach3\Mach3.exe /p MyMillingMachine_400x250_CSMIO_IP
Type the special signs „/”and „\” carefully, in correct places. You can type any other name of course
instead of "MyMillingMachine..." but it must be identical as your profile name.
After all click „OK” and now, you can launch the software using the shortcut you have just created.
If plugin for CSMIO/IP-S was installed properly, as described in the chapter 9 - then there should this
window appear:
Before you start other parameters configuration, you can verify if communication with the controller
is correct. Click on the „Plugin Control” top menu and select the „ CSMIO_IPplugin” position.
• The Ethernet cable must be connected to the device before turning the power on. If it
was not – quit the Mach3 software and turn the CSMIO/IP-S power off, connect the
Ethernet cable, wait 10 seconds and launch the Mach3 software again.
• If CSMIO/IP-S is connected directly to PC, verify if network settings are correct – de-
scribed in chapter 7. Quit Mach3 software, verify the settings and change if necessary,
start the software again.
• If at least 10 seconds have not passed from turning on the device power to Mach3
launching –quit the software and launch it again.
• You can try to use a different network cable.
If these tips did not help and there is still no connection, you should contact your distributor or the CS-
Lab company.
In „Motor Outputs” tab if you use Mach3 software and CSMIO/IP controller following options are
unused: Step Pin, Dir Pin, Dir Low Active (you change directions in menu „ConfigHoming/Limits”),
Step Port and Dir Port.
Columns explanation:
Column name Description
Enabled • Green tick means we are using the signal.
• Red X cross means that we are not interested in that signal and it
should not be used
Port # Input port number – for CSMIO/IP it is always port no. 10.
Pin Number Pin number, means the CSMIO/IP input number, e.g. input no. 14 of the
controller we put here as a pin no. 14.
It does not mean a pin number on CSMIO/IP connector.
Active Low Signal polarization change, it is a selection whether the signal should be
active at 0V or at 24V.
Emulated Signal emulation with keyboard shortcut. In CSMIO/IP-S controller, only
some signals may be emulated: „THC On”, „THC Up”, „THC Dn” and
„Probe”.
HotKey Keyboard shortcut for signal emulation.
Check carefully the E-STOP signal functioning before you continue your configuration. It is very im-
portant to have possibility to stop the machine immediately, especially during the first run and config-
uration!
In the CSMIO/IP controller, there was additionally implemented fault signals support from servo
drives. Details in the „Additional configuration functions” chapter.
Columns explanation:
Name of the column Description
Enabled • Green tick means we use the signal.
• Red X cross means that we do not use the signal and that it should
not be used.
Port # Input port number – for the CSMIO/IP-S it is always port no. 10.
Pin Number Pin number, means the CSMIO/IP-S output number, e.g. output no. 5 of
the controller we put here as pin no. 5.
You do not give here PIN number on CSMIO/IP connector.
Active Low Signal polarization change, it is a selection whether the signal should be
active at 0V or at 24V.
There are two options: for right revs (M3) and left revs (M4). We must uncheck „Disable Spindle Re-
lays” box of course - that means no support for spindle activation.
In „Flood Mist Control” group placed below, we set control of cooling activation just the same way.
Here you can also take the OUTPUT1-6 signals. If we want to use the control function of cooling activa-
tion, we must deselect the „Disable Flood/Mist Relays” box. There are two possible modes of cooling:
water mist (M7) and water stream (M8). For each mode, we give the right output signal. You can also
give the same signal for both modes, so then it will be activated with both the M7 and M8 command
from the G-Code. Additionally in the „Delay” area, you can also set the delay you want after cooling
activation before machining begins.
Time delay for spindle switching on and off is also an important parameter. In particular, the high-revs
spindles need a little time after activation to speed up to the required speed. In the „General Parame-
ters” group, we can define independently an acceleration and deceleration time for right and left revs.
The last things we configure in the „Ports and Pins” window are parameters related to the control of a
rotational speed through the digital input of CSMIO/IP-S. In the „ModBus Spindle – use step/dir as
well” group select the „Enabled” area, in the „Reg” box enter value of 64, and in the „Max ADC count”
– 4095. Now you can close the „Port and Pins” configuration window, click „Apply” and „OK.”
For correct control of the revs, you have to specify what range of the
revs our spindle has (including the inverter settings and eventual pul-
leys). Select the „Config/Spindle Pulleys...” menu position. If we use
one ratio then enter „Min” and „Max” revs. Approve with „OK.”
Check carefully inverter settings before spindle activation, incorrect configuration may cause perma-
nent damage of the spindle, which is not covered by warranty.
Pay attention if the left/right revs are activated correctly – machining with incorrect revs direction may
cause damage of a tool or a work piece.
If „PWM Control” is check-marked but inactive you must first mark “Use Spindle Motor Output”, then
click „Step/Dir Motor”, and again uncheck the „Use Spindle Motor Output”. Selecting „Step/Dir Mo-
tor” in this place does not mean that spindle will be controlled by STEP/DIR signals. Configuration of a
spindle as an axis you will perform in plugin. It is described later in this guide, chapter: “Additional
configuration functions in plugin’s window”.
The „PWM Control” option should be unchecked because it is incompatible with CSMIO/IP and leads
to errors during spindle revs control.
If we forget to click on „SAVE AXIS SETTINGS” all the changes will not be saved.
For correct axis scaling you must know how many steps falls on a unit (millimeter, inch or degree). To
understand how to calculate it, look at the example below:
• A linear axis is powered by servomotor with 10000 rpm encoder.
• A servo drive is configured without a multiplier and a pulley, so the 10000 STEP pulses cause
a 1 rev of the motor.
• To transfer the drive there was a ball screw used - pitch 10mm.
• No ratio between motor and a screw.
So there are 10000 pulses per motor rev and 10mm feed rate. Dividing these values 10000p/10mm
we get 1000p/mm value, which we enter into „Steps Per” box in configuration window.
In „Velocity” area, we set an axis speed. If we are using millimeters as an unit then speed is shown in
mm/min, if we use degrees - degree/min, if inch - inch/min. Max. speed value is very individual and
depends on what motors, drives etc. were used. For the first tests, we recommend to enter relatively
small value e.g. 2000mm/min, in case something went wrong, we will always have enough time to
press an emergency button E-STOP.
In „Acceleration” area, we define acceleration for an axis. At the beginning, we recommend to enter
something about 400mm/s2. Later you can set this parameter experimentally by assessing the ma-
chine working.
Remember to click „SAVE AXIS SETTINGS” for each axis after finished edition. Perform the configura-
tion as follows:
Open „Motor Tuning” window Select axis („Axis Selection”) Enter the parameters”SAVE AXIS
SETTINGS”Select the next axisetc. Click „OK” and close the window.
„Step pulse” and „dir pulse” areas do not matter for CSMIO/IP. They are used to control via LPT port
and they define width and STEP/DIR pulse time. The CSMIO/IP-S controller provides the signal with the
50% duty cycle, which is the most optimal variant.
Due to connection of STEP/DIR signals to the drive (both servo and stepper drives) pay attention which
STEP edge is active.
The example:
While connecting the controller– e.g. for the M542 stepper motor you should connect the PUL+ signal
to STEP+ and PUL- output to STEP signal of CSMIO/IP. This way – switching on the optocoupler in the
M542 will be followed at proper edge of the CSMIO/IP-S STEP signal. If the connection is incorrect, 1
step will be lost during every direction change. After a long work, it may accumulate large position
error.
If needed (e.g. if there are position errors) STEP signal polarization may be changed by software, indi-
vidually for each axis It is set in menu „ConfigPorts and Pins”, „Motor Outputs” tab, „Step Low Ac-
tive” column.
Attention! – you can enable and disable software limits. If they are enable, the software cannot con-
trol an overrun of working area. The only protections are hardware LIMIT switches.
Slave Axis selection, which one will be slave for the currently selected
one
Mode Slave axis working mode
Geometry Correction Geometry correction value of a machine tool
No Correction Mode without correction – Master and Slave axes work just
like “glued” together.
Read Difference Homing position difference readout between Master and
Slave axes. After homing, the value will be entered in „Ge-
ometry Correction” area.
Sl. Correction After homing, Slave axis is “freed” for a while and geometry
correction motion is done. It allows for e.g. perpendicularity
settings in gentry machines.
In „A” addition you can find slave axis configuration example described.
If you want to use slave axis function – read the addition „Slave axis configuration example”.
CS-Lab Company has made every effort to ensure reliability of the CSMIO/IP-S controller. However,
the company does not take any responsibility for any mechanics damage because of wrong configura-
tion and any eventual failure or errors of CSMIO/IP-S controller.
We strongly discourage using slave axis function with stepper motors. Stepper motors don’t have
feedback and it’s easy to damage mechanics in a machine, e.g. when one of the motors brakes and
the other one still works.
10.9.3 Override sources – feed speed and spindle revs corrections source selection
For both feed speed and spindle revs speed control we can define digital input of CSMIO/IP, which will
force control from Mach3 screen – „Forced Mach override”. Thanks to this, you can easily and quickly
switch the source of speed defining– e.g. using a switcher placed on a machine’s panel.
Attention! – Plasma generators are dangerous because of high voltage on electrodes. To analog inputs
of CSMIO/IP you should connect only galvanically isolated signal and well filtered (it is good to place
RC filter in the connector). Incompetent connection of signals of a plasma generator to CSMIO/IP con-
troller may cause its damage.
10.9.5.2 HV Enable
In this place you can – for any CSMIO/IP controller output – assign a function of main voltage activa-
tion (e.g. for servo drives). In many alarm situations like e.g. E-STOP signal activation, additionally main
supply disconnection it may increase security level.
Output defined as „HV Enable” will be active during normal work of CSMIO/IP controller, in case of any
alarm situations such as limit switch or E-Stop touch, the signal will become inactive.
Long filtration time may delay reaction on alarm signals even up to 0,4s. The delay will also be visible
during HOMING or tool measurement (PROBING), causing that machine’s axis will go through a longer
distance after sensor activation.
As mentioned above, there is rather no sense to give filtration time higher than 60ms, and so small
delays are practically unnoticeable.
10.9.6.2 Axes DeRef & Zero – axis reset after emergency stop
CSMIO/IP-S and CSMIO/IP-M controllers reset axis position by default and require reference after
emergency stop. This solution is safe because often, after emergency stop, real machine’s axis position
is unknown. Position and reference reset gives a clear information to operator to do homing again, to
check material position etc. However sometimes automatic reset may be burdensome or in some
cases even not recommended. Deselecting „Set Axes to ‘0’ on RESET option, we can disable automatic
position resetting.
Auto Z-Inh Enable Automatic Z-axis move limitation. Enables protection against
worktable of a machine damage. More details in chapter
14.1 – Automatic Tool Length Measurement.
Smart Limits Movement blocking when hardware limit signal is active. It
works the way that e.g. when X++ signal is active, then we
can move X-axis only in „-„ direction.
Probe protection Tool length sensor protection. When Probe signal is active
then Z-axis manual jog in „-„ (down) direction is blocked.
If Probe signal goes active during treatment, a machine will
be stopped just like in situation when E-Stop is pressed on.
Parameter/group Description
name
Tool Change Configuration of an automatic tool changer. An important issue: even if we do not
have an automatic tool changer but we use a tool measurement sensor - the Auto
Tool Changer should be selected. Otherwise, Mach3 will not take tool length into
account.
Angular Properties Checking the box, we select, if A, B, or C axis works as angular. Unchecked box means
that the axis works as linear.
Pgm end or M30 or It is about behavior at the end of a program, M30 or REWIND command.
Rewind
Motion Mode Motion mode selection: Constant Velocity or stop at every trajectory section (Exact
Stop). The Exact Stop mode may be more precise in some cases but much more slow-
ly. Constant Velocity mode is used in 99% of cases.
IJ Mode Data format for circular interpolation. Usually "Inc" should be selected. After loading
the trajectory, generated with CAM software, if there are problems with circular
interpolation (like large circles in a 3D preview), you can try to switch to „Absolute”
and then load G-Code again.
Active Plane of Default plane for circular interpolation G2/G3. Usually X-Y for milling machines, X-Z
Movement for lathes.
Jog increments In Default feed values for stepper work.
cycle mode
Home Sw. Safety Homing mode. When this mode is disabled, the homing process is less restrictive. It
allows for e.g. homing start when an axis is already on the HOME switch. When hom-
ing also LIMIT signals are not taken into account.
With this option selected so-called safe homing is performed, LIMITs are all the time
taken into account, also you cannot start homing when an axis is on a HOME sensor.
Ignore M calls while Macros ignoring („M” commands) from g-code file when loading. This option should
loading be activated. Without it when file is loading, a machine may start performing macros
by itself.
Look Ahead Mach3 performs dynamic trajectory analysis in advance, to adjust motion speed in
every trajectory place. In the „Look Ahead” area, you can enter number of G-Code
lines, which should be analyzed in advance. Usually 1000 value is enough to get mo-
tion smoothness even when dynamic and fast softwares are made.
Run Macro Pump When this option is selected in a catalogue with VisualBasic scripts you can create a
macropump.m1s file, it contains macro, which will be called cyclically several times
per second.
Home slave with The intention of Mach3 authors is an option, which enable/disable slave axis and
master axis master axis homing together. In CSMIO/IP-S controller, a slave axis is always homed
with master axis.
G04 Dwell in ms With this option selected a delay parameter for G04 is counted in milliseconds. It is
useful when you need precise, short time delay e.g. in plasma cutters.
Use watchdogs Do not use – this function should theoretically „watch” various modules of the soft-
ware and in case it should switch an emergency STOP. In practice, it does not work
properly and may cause problems. In CSMIO/IP-S software, there are special algo-
rithms, which autonomously monitor communication and whole control system
work.
CV Control Parameters for a Constant Velocity work mode. By default, all fields should be unse-
lected. However sometimes CV settings modification is necessary. E.g. if machine
acceleration is low and treatment goes with high speeds then CV mode may cause
that path corners will be rounded. We can set CV mode toleration by selecting „CV
Dist Tolerance” option and entering max. deviation from demanded shape.
Rotational Parameters in this group relate to angular axes (rotary).
„Rot 360 rollover” determines if there should be rollover after crossing 360 degrees.
„Ang short rot. On G0” causes that at inverted G0 move, a rev may be shortened. So
O O
when an axis has at the moment e.g. 320 and should go to 0 , it will not go back
O O
with 320 but it go right with 40 .
„Rotational soft limit” parameter determines if for rotary axes soft limit switches
should be taken into account.
Enhanced pulsing This parameter does not matter with CSMIO/IP-S.
Screen control In this group, selection of „Hi-Res screens” and „Auto screen enlarge” parameters
causes Mach3 screen enlarges to fit its size to screen resolution. However very often
an interface is in effect disproportionately stretched and it is better to disable the
functions mentioned above.
11.First tests
When all axes have their motion directions configured correctly – you can specify homing directions
(sides). For 3-axis machine XYZ - most common configuration is homing of XY-axes in negative direc-
tion and Z- axis in positive direction. In „Config/Home/Limits” for Z axis there should be „Home Neg”
selected.
Before further tests, you should check axes scaling. The best is to use dial gauge or other precise
measurement tool.
In manual feed rate panel set the Jog Mode and 1mm step size. „Slow Jog
Rate” does not apply to motion in positional mode (step motion) so speed
is set on the main screen in „Feedrate” area. For this test, you should
enter low value e.g. 100mm/min. Now, after pressing e.g. right arrow on
the keyboard the X-axis goes 1mm right. You should go this way at least 10mm
(each axis), verifying with dial gauge the distance actually made by the axis. The dial
gauge should be reset after 1mm. If you see clear difference between the positions
(requested and actual), it means that that the „Steps Per” parameter in the Motor
Tuning window is set incorrectly. You should go back to the sections about configu-
ration and verify your settings.
Always approve your settings on Mach screen by pressing ENTER. Otherwise, the value will not be
saved.
On the Diagnostic screen of Mach3 you will see group of buttons for each axis hom-
ing. Before you press one, be prepared for emergency stop by EStop pressing or
on Mach screen.
Every time you press Ref... verify homing of each axis used. After correct homing –
the light indicator next to the button should light green. If motion when homing is
wrong, you can change the configuration in „ConfigHoming/Limits”.
If axes homing is correct, you can experiment with increasing homing speed in
„ConfigHoming/Limits”.
Close „Homing/Limits”, press and run homing again. Click on , to see the green light
around. You can try and go each axis to reach coordinates that are specified in the SoftMax/SoftMin.
The machine should smoothly brake and should not cross any limits of a working area.
After test is successfully finished you can turn the coordinates off by pressing .
After some parameters change – the controller may automatically go into emergency stop mode, it is
absolutely normal. In that case, you should press and run all axes homing by pressing „Ref All
Home” on the Mach’s main screen.
It is good to check various revs values and revs change from maximal revs to very low. If you do not
use a braking resistor at inverter it may turn out that, when braking at high revs speed – the inverter
will report an error. Then you have to get yourself a resistor or lengthen the braking time.
In case of any problems, check again configuration settings and eventually the inverter settings. Usual-
ly the inverters have various control modes. Without proper configuration, the inverter will not re-
spond to outside signals.
Before spindle activation make sure if there is no loose collet. When braking at high revs speed the
tightening nut may unscrew and rotating collet may cause injury risk.
Select Import Vector Data command in Art Cam and in the window that
pops up – option that will set our logo in the middle of defined area.
Next, we draw an object, which we use to plan the area. It would be good if the object were larger
than our cube, so that the cylindrical cutter will go
during the work with its whole diameter out of the
material. First, select an icon from the Vector tab, draw a rectangle with the same size
like our cube. In the Width and Height boxes enter 48 and 30.6 size. Next click „Cre-
ate” and „Close”.
Now you need to set the object position. Press right
mouse button on it and select „Transform Vectors”.
Select the lower left corner of the object and enter 0,0
position. Press „Apply” and „Close”.
The newly created object with its position and size exactly coincides with the work-
ing area. Now you should add the additional enlargement that was mentioned, so
that the milling cutter will go with its whole diameter out of the material – thus we
get a better surface.
We click on our object and select „Vectors/Offset” menu position. The milling cutter
diameter is 8mm - we should give it a small reserve by entering as an Offset Dis-
tance the 8.5mm value. We are giving the Offset Direction as Outwards – that is the
outside. Offset corners – irrelevant here. Select - Delete original vectors, because
we do not need to save the original object.
You should inform the software what kind of tool you use. Below the Tool List click the Add button. In
the tool-base window, click Add Tool, to
add a new tool. Enter parameters as
the picture shows. Some parameters
like description or diameter are obvi-
ous. Step-down is a maximum depth
the tool gets. Stepover is a working
density. The bigger the density, the
generally better surface, but here it is
also not worth to overdo because you
can only unnecessarily make the treat-
ment last longer. Feed Rate is a feed on XY surface, and Plunge Rate means speed with which the tool
will get into the material. Tool Type is a tool shape type. Here the drawing, displayed after shape type
selection, is helpful.
In the end press „OK”, choose our tool from list and click Select.
In Tool List box, in the Area Clearance configuration panel there should our tool appear, now only
press Calculate: Now in the bottom of the panel, in the preview of working area there should the cal-
culated tool trajectory appear. We can switch to a 3D view to look closer. It should look something like
this:
Now we record the trajectory, go to the Toolpaths tab and click the icon.
In the record window, select so-called postprocessor, to define
output data format suitable for our control system. In ArtCam we
recommend „G-Code Arcs (mm) (*.tap)”. It is basic G-Code for-
mat suitable for Mach3 software. When you select the format
pres „Save” and save our trajectory as e.g. „planning.tap”.
You should note that, in ArtCam software a handle size is given as diameter,
and a dimension of tip of the tool (F) is as radius. Speed values in here are
quite low but it is only example, and not “high performance ride”, which
makes sense only for mass production for larger number of units. With so simple, single treatments it
takes more time to prepare the project, place the material and set the machine than the treatment
itself.
When our tool is entered, you can click Calculate: Now and record the path by clicking on the icon.
Postprocessor should stay the same. Name it e.g. „graw_logo.tap”. 3D preview should look like this:
In the manual feed rate panel set continuous ride mode and 25% speed. At the same time in a Feed
rate box, you can enter stepper work feeds, which we will use in a moment -1000 mm/min.
Now use arrow keys or keys on a machine desktop, reach left edge of the material. Z-axis is a little
below the material level.
Next, change the feed mode for stepper mode and set the step on 0.1mm. Working
with 0.1mm step we get close to the material and then switch to 0.025mm step –
enter that value in a text box and press <enter>. Make the half of
the filed roller to contact with side surface of the material. If we
will try to move the spindle with a finger to any side – we will be
able to do that only to a small extent. The roller edges will not let
us more. Go by step with another 0.025mm until you will not be
able to move the spindle at all – it means that the material surfac-
es and the filed roller adhere to each other.
At this point, we can set the material base in X-axis by clicking „Zero X” but-
ton on the Mach screen. Coordinate X on the screen will be reset.
Switch the feed rate mode on continuous one, „Slow Jog Rate” speed – e.g.
2% because we are very close to the material and the same way we set the Y
base on the lower edge of the cube. This way of homing seems to be a little
troublesome but with a little practice this can be done very quickly, besides it is quite precise.
When the position is set on the lower edge of the material then click „Zero Y”, to reset the Y coordi-
nate at this point.
The material base is already set so you can place the correct milling cutter – to plan the surface meas-
ure it and load the trajectory file.
After we placed the tool, we measure it clicking „Auto Tool Zero” button.
Automatic tool length measurement is not a standard Mach3 function. Description of this function
activation and configuration you can find in chapter 14.1 – „Automatic tool length measurement”.
You can change the tool for an engraving cutter and load the second,
previously generated trajectory. Before processing, there is one im-
portant detail. When planning the surface we lowered its level, the
engraving logo would be 0.1mm depth, and not 0.3mm like the one we
had assumed. “This can be easily remedied by reducing the zero point
level about 0.2mm (planned depth). Click on the text box that displays
current Z position and type on your keyboard "0.2 <enter>".
After this operation, we can start work from the second file not forgetting about the measurement
after tool change („Auto Tool Zero” button).
When the file is loaded, and the tool is measured we can set the axes again over the material with the
MDI like before.
Here you can find few tips that can help users unfamiliar with Mach3 software.
1. Computer keyboard.
a. Do not use a wireless keyboard, sometimes this keyboard record keystroke, but
does not notice releasing it, which can be very dangerous while controlling the
machine.
b. In addition – an USB keyboard can behave in unpredictable ways. The USB port is
not resistant to interference therefore, especially on machines with servo drives
and higher power spindles. We definitely not recommend the USB keyboard.
c. The most reliable solution is PS2 keyboard or connection of industrial buttons to
CSMIO/IP-S digital inputs and defining them correctly in Mach3 software.
2. Remember that writing down the value in any text boxes on the Mach screen - must al-
ways be confirmed by pressing ENTER.
3. If you are doing CNC program at high speeds and sometimes the movement loses its
smoothness, check the „LookAhead” parameter in "Config / General config". It is respon-
sible for sections of the trajectory analyzed in advance. Set this parameter to 999.
4. If you are doing CNC program at high speeds and you notice some distortions related to
rounded corners then switch on and experiment with "CV Dist. Tolerance" parameter in
„ConfigGeneral Config”. At the beginning, you can set the value on 0,5 - it will corre-
spond to 0,5mm corner tolerance.
5. Mach3 software as a decimal separator (to separate the fractional part) uses a dot „ . ”.
Keep it in mind entering the values.
6. 3D trajectory preview on Mach screen can significantly burden the computer when the
files are large. While the machine runs, do not do operations such as zooming, rotation,
etc. For very large files, we recommend to turn of the 3D preview - Diagnostics screen,
click "Toolpath on / off."
7. If a machine has touched a hardware LIMIT switch, you can back of the switch by
"OveRride Limits" button activation on Settings screen. It is also convenience to activate
"Auto LimitOverRide" - this will cause that when we touch the limit switch a machine will
stop, but you can click RESET and back of the limit switches without any additional opera-
tions. Additionally the "Smart Limits" function activated will protect you against motion in
wrong direction, which can be cause by e.g. accidentally wrong button pressed.
8. Manual control (JOG).
a. Do not forget that pressing TAB key causes that additional side panel appears
where you can set speed, continuous or step mode – it makes that controlling
the axes and precise setting of material base is easier.
b. By pressing the combination of feed rate key (e.g. right arrow) and SHIFT key, the
movement is in continuous mode with 100% speed - regardless of the current
settings.
c. By pressing the combination of the feed rate key and CTRL key – the movement
is always in step mode with speed set in FEEDRATE area.
9. Mach3 always starts with tool „0” chosen, if you use a tools changer and some tool left in
a handle when you turn off, then after Mach restart, you must enter this tool number
(Tool Information group on the main screen, the "Tool").
a. If you do not use a tool changer but you have an automatic tool-length meas-
urement sensor, then after starting Mach software always enter „1” <enter> into
the “Tool”. Similarly, when generating the g-code file in CAM software also al-
ways set the tool 1.
10. STOP button on Mach3 screen stops a machine instantly. With stepper motors, it may
cause that motor will fall out from the position, with servo drives, the motor controllers
may report an overload error or overstaying error and you will need to re-home the ma-
chine. Recommended way to stop the work is pressing pause first („Feed Hold”), and af-
ter it stopped – the STOP key.
11. To restart CNC program from specified location - set in G-code window desired position
(line), then press "Run From Here" and then "Cycle Start".
12. It is worth to know the basic commands of G-Code. In many situations the MDI Mach
screen, where you can manually type the commands that are executed immediately is a
very useful tool.
13. If you have a tool magazine and/or automatic tool-length measurement sensor, remem-
ber that any manipulation/repositioning or disassembly of HOME switches can cause ma-
chines absolute zero position shift and then recalibration of magazine and tool length
measurement sensor position is necessary.
14. If you set the zero point (material base) and you use an automatic tool measurement –
always make the tool measurement first, and then set the zero point. Setting the zero
point with unmeasured tool causes that the level of processing shifts when we place an-
other tool and call the measurement.
15. A PC computer you use to control the machine should be treated like an integral part of
the control system and should not be used to any other tasks. It means that, this com-
puter should only have operation system, Mach3 software and nothing else (eventually
text editor and file manager such as Total Commander®). For any other tasks such as de-
signing, you should use some other computer.
16. On the computer you use to control you should disable all visual effects of your desktop,
screen saver, and turn power profile on “always on”.
14.VisualBasic® macros
On our website: www.cs-lab.eu you can download standard scripts for automatic tool-length meas-
urement and for automatic tool change. These are usually the most desirable functions and make
work easier. We encourage advanced users to learn more about macros, which provide great oppor-
tunities for self-expanding functionality of Mach3 software.
Automatic tool-length measurement is one of the most implemented function, e.g. because mechani-
cally it is very easy to do. If high measurement accuracy is required, the sensor
must be good quality. In CSMIO/IP-S controller – specialy for G31 command
(used during the measurement) – we implemented completely autonomous
movement operation and ultra-fast logic to assure measurement precision at
the highest level.
14.1.1 Configuration
Before we start the script configuration, you should follow these steps:
1. Check the sensor and inputs signals settings – go to Diagnostics tab and while pushing the
sensor with hand observe the light indicators on the screen. The light should light up
at the moment of pushing the sensor and light should go out after releasing it. In case of any
problems go to 10.4 chapter (input signals). The sensor signal in the configuration window is
called “Probe”.
2. Make reference move of all axes.
3. On the main screen switch the coordinates display mode for machine display (absolute) –
icon .
4. Secure the tool in the spindle holder (for the firsts test – the cheapest is the best).
5. In manual feed mode move to the center of the sensor measuring surface. Note XY coordi-
nates.
6. In stepper mode slowly lower the Z axis until the signal from the sensor appears and note the
Z coordinate.
7. Go with Z-axis up to the level you consider as safe. A small explanation here - as written
above, while measurement there is rapid slide down to some level by G0 command first. You
have to assess to what Z-axis level it can slide down quickly. It depends on maximum length
of tools that will be measured. You can also enter "0" as a safe Z and then measurement
starts from the top position.
8. Move the XY axes to place yourself somewhere above the worktable.
9. Using the stepper mode, slowly slide the tool down to the worktable surface and note the Z
coordinate.
10. Turn off the absolute coordinates mode by clicking icon.
When you have noted all necessary data, open the downloaded toollenght.m1s file in any text editor
(e.g. notepad). Then select all using mouse or by pressing "CTRL + A" and copy to clipboard - "CTRL +
C".
In Mach standard graphical interface, on the main screen
there is an "Auto Tool Zero" button. This button is defined
by default as calling a macro, so there is no need to add a
new button in the graphical editor.
To connect the mentioned above button to our macro, se-
lect in the menu: "The operator / Edit Button Script". The
"Auto Tool Zero" button and several others should start to
blink. Click on it and open Mach3 text editor.
Sometimes there is a single text line, if so - you must delete
it, and then press CTRL + V to paste our macro.
Now just enter a few parameters based on the coordinates,
which we noted earlier. All configuration data can be found
under "Configuration parameters" line.
Parameter Details
SENS_Z [Z coordinate of sensor activation ] – [Z coordinate of table level].
If you e.g. when reaching the table Z=-122.070mm, and sensor gave an active signal at
Z=-110.656mm – the entered value should be 11.414.
Z_SAFE It is parameter that describes at what height the Z-axis can slide down fast (G0). If we have
doubts how long tools will be measured it is safer to enter „0”.
SENS_X/SENS_Y X and Y position of the sensor in a machine tool working area.
MAX_DTRAVEL Maximum distance the axis travels down in the measurement mode. If in measurement
mode the Z-axis run this distance, and the sensor signal does not appear – the measure-
ment failed. With this parameter, you can protect yourself from a situation when the
measurement was called while the tool was not clamped.
SPD_FAST First measurement speed (mm/min).
SPD_FINE Second precise measurement speed (mm/min).
Z_LIFT Determines how much the Z-axis should be raised before the second measurement. The
value should be large enough to change the sensor inactive again while rising.
Z_PARK Z-level, on which the axis was set before the measurement and after the measurement is
finished. Usually – “0”.
Macro should be saved in „FileSave” menu, close the window. After the operation you should also
close and restart Mach3 software to make sure that the settings were saved.
That is all. Just click the „Auto Tool Zero” button, and the tool will be automatically measured. Why
the table level was checked? It is because adding data the way we showed above – after correct
measurement - zero of Z-axis is set on the worktable level. Now if we want to define the zero point of
the work piece, and its thickness is e.g. 10.150mm we can enter this value directly into the „Offsets”.
In short, the treatment offset in Z-axis is counted from worktable level. Moreover, if we switch „Auto Z
Inh” and „Z Inhibit” functions in plugin’s configuration then on Mach3 screen – the controller will acti-
vate protection so the tool will not go below working table area. For both JOG movements and g-code
making. This way we protect ourselves against worktable damage.
Before next steps it is necessary to verify if the signals are correctly configured (DIAGNOSTICS tab) Pay
special attention whether HOMING switches are not replaced. Pressing by hand the HOME switch on
„X” motor side the M1HOME should light up, presing HOME switch on „B” motor side - the M5HOME
should light up.
You should not use stepper motors for slave axis. Lack of position feedback causes a risk of mechanics
of machine damage. With servo-drives, you should always have alarm signals configured correctly.
CS-Lab Company made every effort to ensure reliability of CSMIO/IP-S controller. However, our
company does not take any responsibility for any mechanics damage because of wrong configuration
and any eventual failure or software errors of CSMIO/IP-S controller.
If you run the update application from installer file it means that correct file with the firmware was
already loaded and „Open App. File” button is not active. If there is only one CSMIO/IP controller in
network - the application asks to start the update automatically. If there are more controllers then you
should chose one IP address from a list to update the controller you want and click „Flash Programm”.
CSMIO/IP-S controller is protected if update fails. There is always a possibility to try again
If you install new firmware version but you do not update with uploader application then Mach3
software during start will inform you about incompatibility between versions and communication will
be interrupted.
Update verification
After firmware update is finished, you can start Mach3 again and open diagnostics window. In the
bottom bar, you should see your update firmware version.