User Manual Csmioipa En-V3
User Manual Csmioipa En-V3
User Manual Csmioipa En-V3
INDEX
1. General .................................................................................................................................................... 6
1.1 Signs used in this guide.................................................................................................................. 7
1.2 Content.......................................................................................................................................... 7
1.3 Standards compliance ................................................................................................................... 7
1.4 Specification .................................................................................................................................. 8
2. Safety ....................................................................................................................................................... 9
2.1 Example of direct E-Stop signal connection ................................................................................ 10
2.2 Example of E-Stop Signal connection using PILZ module............................................................. 11
3. Recommendations for mechanical installation...................................................................................... 12
3.1 Examples of components arrangement in a control cabinet. ...................................................... 12
3.1.1 Block scheme pictorial view ............................................................................................ 12
3.1.2 Control cabinet made by CS-Lab Company ..................................................................... 13
4. Connectors, controls and electrical installation of the device ............................................................... 14
4.1 Connectors arrangement on the device ...................................................................................... 14
4.2 Analog inputs/outputs connector................................................................................................ 15
4.2.1 Signals on a Terminal Block connector............................................................................ 16
4.2.2 Example – connection and configuration of FRO and SRO potentiometers .................... 17
4.3 Encoder inputs connector (0 / 1 / 2) ........................................................................................... 18
4.3.1 Signals on a Terminal Block connector............................................................................ 19
4.3.2 Example - connection of an encoder to Ch0 channel ...................................................... 19
4.4 Encoder inputs connector (3 / 4 / 5) ........................................................................................... 21
4.4.1 Signals on a terminal block connector ............................................................................ 21
4.5 Digital inputs connector (0-11) .................................................................................................... 22
4.5.1 Input circuits construction .............................................................................................. 23
4.5.2 Signals on a terminal block connector ............................................................................ 23
4.5.3 Examples - input signals connection ............................................................................... 24
4.6 Digital inputs connector (12-23) .................................................................................................. 26
4.6.1 Signals on a terminal block connector ............................................................................ 26
4.7 Digital outputs connector (0-15) ................................................................................................. 27
4.7.1 Output circuits construction............................................................................................ 28
4.7.2 Signals on a terminal block connector ............................................................................ 28
4.7.3 Example – spindle activation signal ................................................................................ 29
4.8 Expansion modules connector .................................................................................................... 30
4.9 Power connector ......................................................................................................................... 31
4.10 Communication connector – Ethernet ........................................................................................ 31
4.11 Recommended cables ................................................................................................................. 32
4.12 LED lights meaning ...................................................................................................................... 33
1. General
The CSMIO/IP-A product 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.
The main designing assumption was working 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 others 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 assumption was simplicity of installation. CSMIO/IP-A does not require any external
electronics for proper operation. Inputs/outputs signals are inside optically isolated, filtered, protect-
ed against short circuit, overheating etc. Of course, all I/O 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 installation in a control cabinet takes less time and is even simpler.
CSMIO/IP-A p 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 for keeping 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.
To meet customers' needs, who prefer +/- 10V servo drive control standard, the CSMIO/IP-A was
equipped in such an interface, and very fast encoder inputs allow for taking full advantage of encoders
with large number of pulses per rotation, and the same let you to achieve such a 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-A set includes terminal block adapters for easier wires connection in a control cabinet.
More content details below:
1. CSMIO/IP-A - CNC controller
2. 3x DB25 Terminal block (2 pcs.)
3. Ethernet connection wire
4. DB25 connection tape (6 pcs.)
5. „Phoenix” 3pin power plug
6. CD with electronic version of the user guide and software (always check if there is a
newer version on http://www.cs-lab.eu )
If you can't find any of these parts in your package please contact your supplier.
The CSMIO/IP-A controllers were designed and made in accordance with the national and internation-
al standards 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
Digital inputs number 24
Digital outputs number 16
Analog inputs number 4
Analog 0-10V outputs number 2
Analog +/-10V outputs number 6
Encoder inputs number 6
Supply voltage 24VDC +/-10%
Power consumption 5W
Maximum voltage on the in/out lines 30VDC
Maximum load of an output line 250mA
A voltage range of analog inputs 0-10VDC
Maximal load of analog outputs 50mA
Axis drives control type Analog +/-10V
Maximum frequency of an encoder signal 6MHz
Encoder type Incremental TTL (RS422)
Encoder signal kind Differential
PC connection Ethernet 10/100Mb
Ambient temperature range 0oC do +60oC
Relative humidity 10% to 95% (without condensation)
2. Safety
CSMIO / IP-A device is powered by 24V safe voltage. I/O control lines are optically isolated also PC
connection 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 purpose you can use (not required) a standard safety relay (i.e. from PILZ Company). The
safety switch mushroom, FAULT signals of drives and inverter and eventually other alarm signals – you
should connect to input circuits. Output or outputs - depending on a used module - should be con-
nected to CSMIO/IP-A controller, and defined as emergency 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-A 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-A controller in active state on the input line - defined as an E-Stop stops the motion on
all output channels within 1ms.
In 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-A but then we lose double protection and it’s 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’s worth to use con-
tacts from reputable companies. They are a little bit more expensive but their quality is much, much
better.
PILZ
PNOZ X7 24 V
Above you can see an example of E-Stop signal connection to the CSMIO/IP-A 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-A
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 the safety relay output channels gives double protection to a system and significantly increases
reliability of the entire system.
CSMIO/IP-A controller and DB->Terminal block connection modules were designed to be installed on a
standard DIN-rail. It’s the quickest and the best way of installation.
The controller uses a small amount of electricity and creates a negligible amount of heat. Aluminum
housing provides adequate cooling for electronics inside, even if an ambient temperature reaches
40OC.
As for the controller, there are no special precautions for ventilation and minimum distances. Howev-
er, usually, next to the controller in a control cabinet, there are also inverters, power supplies, motor
drives - these components emit a lot of heat, so you should always remember about their proper
location and proper ventilation of the cabinet.
Caution is advised during mechanical and electrical installation. Poorly tightened cable may cause
many problems it’s also very difficult to find such a defect while launching/using the system.
In the picture above there is also CSMIO/IP-S controller placed (right side). It is a picture of the control
cabinet we use for testing new firmware versions. The wiring is doubled so we can easily switch be-
tween CSMIO/IP-A and IP-S models.
Power connector
Expansion modules
connector
Communication con-
nector (ETHERNET)
Digital inputs 0-11 Digital inputs 12-23 Digital outputs 0-15
DBTerminal block connectors have the same pin numbers as DB connectors in CSMIO/IP-A device.
In example: 15 pin of DB25 connector match with the 15 pin on the terminal block.
Since 2015 there is FP4 version for Mach4 and simCNC software support (FP4 sign placed on CSMIO/IP
front panel)
Connecting the analog signal to a plasma generator you should remember that it should be
galvanically isolated signal.
The connection with use of a simply voltage divider does not protect against surges and may
cause damage of the controller.
Axes by default are assigned to following channels: XCh0 / YCh1 / ZCh2 … CCh5. It can be
changed in plugin's configuration.
Below you can see example of connection and configuration of potentiometers for feed rate correc-
tion and spindle revs regulation.
If values on the analog inputs change with the position of the potentiometers' knobs, then only what
left is to configure the plugin. Open configuration win-
dow– menu „ConfigConfigPlugInsCONFIG”.
Choose „OverrideSrc.”.
Select „CSMIO-IP AIN 0” for „Feedrateoverride” – so
for feed rate regulation we use POT.1 potentiometer.
For „Spindlespeedoverride” select „CSMIO-IP AIN 1”,
so for spindle revs regulation we use POT.2 potenti-
ometer.
At the end click „Save” to keep this settings.
Axes by default are assigned to the following channels: XCh0 / YCh1 / ZCh2 … CCh5. It can be
changed in plugin configuration.
While "A, B" signals signage is quite standard, the "I" index signal is signed by encoder manufacturers
in different ways: "Z, C, … etc."
As you can see below, although an encoder requires many wires, the rule is easy and the connection is
not that hard. However the connection should be done carefully to avoid any unpleasant surprises
later.
In the example above there is a situation where to encoder input there is a motor encoder connected
directly. In case we use AC servo drives - to encoder input of CSMIO/IP-A you should connect encoder
output of a servo amplifier. So connection for AC servo looks as following:
[Motor encoder][servo amplifier (input)]
[servo amplifier(output)][CSMIO/IP-A controller]
Encoder cable shielding should be connected as close to CSMIO/IP controller and should be connected
only in one point.
Cables colors on the scheme above are random so please do not be influenced by that.
Please note so the signals connection is made using twisted-type cable and also to not mix the signals
in cable pairs, so to not connect e.g. A+, B- signals etc. in one pair. It cause irregularities in a machine
work - also later it may be difficult to find a reason of the problems.
Axes by default are assigned to the following channels: XCh0 / YCh1 / ZCh2 … CCh5. It can be
changed in plugin configuration.
While "A, B" signals signage is quite a standard, the "I" index signal is signed by encoder manufacturers
in different ways: "Z, C, … etc."
Below - simplified scheme of CSMIO/IP-A input circuits. On the scheme 0 – 11 Inputs are marked as IN
0 – 11.
If we do not care about separation of the CSMIO/IP Controller power supply and digital outputs poten-
tials and we want to use one power supply source then we can connect together power supply of all
the groups (pins 1, 4, 7, 10) and connect to +24V of controller's power supply. Then of course we have
to also connect power return lines, 0V (pins 14, 17, 20, 23) to GND of CSMIO/IP power supply.
The connector is only designed for expansion modules by CS-Lab s.c. company. You shouldn't
copnnect here any other devices, PC etc.
Pay special attention to not exceed the permissible power voltage (30VDC). 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 mentioned
receivers and separate for CSMIO / IP-S.
CAN expansion modules If modules are installed on the same DIN rail, right next to
the controller, you can use DB9 plugs clamped on a 9 wire
tape. If module is installed farther then you should use so-
called shielded twisted pair. (FTP or STP).
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.
• 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 output no. 2 –
OUT2 LED lights up.
• CAN LED 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-ERR2 diodes indicate controller errors. During normal operation, any of these diodes
shouldn’t 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 helpful in-
formation that CS-Lab service should get if there are any problems during the device work. Be-
low 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-A waits for the commands from
the PC.
It means that one or more axes are currently on a manual motion mode
(JOG).
It means that one or more axes are homing at the moment (HOMING).
Explanations:
Servo amplifiers form different manufacturers may differ a bit but the main rule is practically the
same. Signals names are changed, sometimes I/Os work as PNP and sometimes as NPN, but almost
always servo amplifier connection looks like shown above.
Encoder signals and analog +/- 10V signal always connect using Twisted-Pair cable.
Optical inputs in CSMIO/IP-A require both ‘+’ and ‘-‘ potentials connection. The ‘-‘ Pins of digital inputs
used are connected to 0V potential - see "Power supply" section.
In the example above you can see connection of Commander SK for spindle support.
Analog output 0 DB25 – Analog I/O 7 Voltage input 0-10V of speed com-
mand
CSMIO/IP digital outputs Power DB25 – Digital outputs (0-15) 17
GND
Outputs 4 and 5 power DB25 – Digital outputs (0-15) 4 24V output for controlling signals
Note that every group of CSMIO/IP-A digital outputs can work on a different potential. In this case we
used 24V output of the inverter.
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 program configuration, concerning use of a spindle with revs control was described in chapter
10 - "Mach3 Configuration".
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-A controller.
Response time for events that cause the disconnection is less than 1ms.
In this example we used digital output no. 2. Power connection of 0-3 inputs group was shown in
"Power supply" section.
• Easy XYZ plotter (e.g. plasma cutter), low acceleration (400mm/s2), linear bearings, drive
on toothed bars, gear: 5mm feed/motor rev. Max velocity: 15m/min.
o X axis drive (gate) 2 x 0,2kW (slave axis)
o Y axis drive 0,2kW
o Z axis drive 0,2kW
• XYZ Milling plotter with movable table (e.g. plexi-type materials cutting etc.), acceleration
(700mm/s2), linear bearings, drive on ball screws, gear: 10mm feed/motor rev for X and Y
axes, 5mm feed/motor rev for Z axis. Max. velocity: (XY) 30m/min.
o X axis drive (table) 1,2 kW
o Y axis drive 0,7kW
o Z axis drive 0,7kW
• Lathe for steel treatment, acceleration (500mm/s2), prism bearings, drive on screws,
gear: 5mm feed/motor rev. Max. velocity 15m/min.
o Z axis drive 2,2 kW
o X axis drive 1,2kW
In the examples above there are rather minimal power values. You need to remember that pulleys
should be selected this way that maximal working feed rate corresponds to nominal motor revs. If the
motor has nominal 3000 RPM, and in practice it will revolve maximally 1000 RPM - because of for ex-
ample drive screw vibrations - then 66% of potential drive power will be wasted... Moreover - incor-
rectly selected gear will cause bigger problems with PID tuning. So it's really worth to spend some time
on the mechanical parts to get good parameters of our machine working at the end.
Temporarily the motor can have higher RPM than nominal but I suggest keeping the "surplus" for shift
motions.
In case of old machine retrofit it is worth to consider drives replacement, even if they seem to work
fine at first sight. Demagnetized motors and dried up capacitors may decrease working quality and
after short period of time may cause machine failure.
Remember to enter pulses per rev value in „Encoder Pulses/Rev” area. It is necessary so the function
that checks if there is a safe distance between HOME switch activation and INDEX position works cor-
rect. Too small distance may cause homing deviations of even whole motor shaft rev.
Do not use wireless WiFi connection. In a wireless network the time of data transmission is longer and
requires many re-transmissions. It may be a problem during our work.
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-A controller initialize it tries to set its IP automatically at first and for that it sends re-
quest 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-A 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: [email protected].
Please note that Mach3 program 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 program, 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 program 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 program 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 we click one of the buttons we will see the window where
we can enter our configuration profile name. Enter e.g.
„MyMillingmachine_400x250_CSMIO_IP”. Avoid spaces and spe-
cial characters (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 program and decide if software 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-A Controller Firmware” option and
click „Finish”.
Mach 3 plugin and CSMIO/IP-A firmware must be the same version. Update the controller firmware if
needed. The update process is described in the addition section - „CSMIO/IP software updating”.
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 program clicking on it. A „Session Profile” window will appear. To create a
profile click on the „Create Profile” button.
Next click „OK” – profile was created. In the „Session Profile” window click now „Cancel” – we are
going to create a shortcut on the desktop, it will launch the Mach3 program with our configuration.
Copy the „Mach3 Loader” icon (CTRL+C, and next CTRL+V on the keyboard). Click this icon with right
mouse button and select “Properties”. On “General” tab enter any name e.g. “MyMillingMachine”, go
to the „Shortcut” tab and in the „Target element” enter:
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 program using the shortcut you have just created.
Before that you should connect Ethernet cable of the controller to a computer or plug it into a com-
puter network. You must switch the controller power ON at least 10 seconds earlier.
After you launch the program for the first time,
you will see the window of license approval.
You should fill in the check box and agree by
clicking the button as shown in the picture.
If plugin for CSMIO/IP-A 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.
You will see CSMIO/IP diagnostic window. If the "Con-
nection status” light is green it means that the soft-
ware is installed correctly and communication between
Mach3 program CSMIO/IP controller is also correct.
If these tips did not help and there is still no connection, you should contact your distributor or the CS-
Lab company.
Using CSMIO/IP-A controller the settings in „Motor Outputs” related to STEP/DIR signals do not mat-
ter. The only active parameter is axes enabling and disabling („Enabled” column).
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 doesn’t 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-A controller, only
some signals may be emulated: „THC On”, „THC Up”, „THC Dn” and
„Probe”.
HotKey Keyboard shortcut for signal emulation.
EStop Emergency stop. You should pay special attention to set this signal
correctly and test how it is functioning.
THC On For plasma cutters. During plasma cutting a machine stops automat-
ically, when this signal becomes inactive.
THC Up For plasma cutters. Signal of automatic torch high control, an active
state causes Z-axis rising.
THC Down For plasma cutters. Signal of automatic torch high control, an active
state causes Z-axis lowering.
OEM Trig 1-15 External function releasing. Using these signals, you can e.g. start a
program with a button on a machine desktop.
JOG X++, JOG Y++, JOG Z++, Signals that allow for motion of each axis in manual mode (move-
JOG A++ ment in a positive direction).
JOG X--, JOG Y--, JOG Z--, JOG Signals that allow for motion of each axis in manual mode (move-
A-- ment in a negative direction).
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 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-A it is always port no. 10.
Pin Number Pin number, means CSMIO/IP-A output number, e.g. output no. 5 of the
controller we put here as pin no. 5.
It doesn’t 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.
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.
Last thing related to the revs control is a choice of analog output, which
will be used.
• select from the menu „Config/Config PlugIns”
• click „CONFIG” next to the „CSMIO/IP”
• go to „Spindle” tab, in the „Spindle DAC” group
• select „Enable”
• on the „Select Analog Output” list select analog output.
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” and
then click „Step/Dir Motor” and again uncheck the „Use Spindle Motor Output”. Selecting „Step/Dir
Motor” in this place doesn’t 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’s incompatible with CSMIO/IP and leads to
errors during spindle revs control.
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.
Attention! – you can enable and disable software limits. If they are enabled, the program cannot con-
trol an overrun of working area. The only protections are hardware LIMIT switches.
In firmware versions v2.051 and higher you can choose a mode of work of the "Home off.". By default
it works like described above in the table but after changing the working mode in a configuration win-
dow of plugin the „Home Off.” parameter won't cause home off but only set a machine coordinate on
demanded value after homing.
This function mode selection can be done in a „Special Functions/Other” tab, „LegacyHomeOffset”
option.
The CSMIO/IP- controller has a possibility of autonomous reaction to fault signals from servo drives. A
drive may generate a fault e.g. in case of overload. If the fault signal appears the CSMIO/IP stops all
axis within 0,1ms. It is worth to configure in servo drives dynamic brake function, which will reduce
distance that an axis move with the power of inertia.
Configuration parameters:
Slave Axis selection, which one will be slave for the currently se-
lected 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-A controller. However,
the company does not take any responsibility for any mechanics damage as a result of wrong configu-
ration and any eventual failure or software errors of CSMIO/IP-A controller.
10.9.3 Override sources – feed speed and spindle revs corrections source selection
Mach3 software allows for feed speed and spindle
speed change during work. As a standard it’s ad-
justed using two sliders and a main screen. If ma-
chine tool is equipped with additional panel with
buttons it would be easier to adjust the speed
using knobs placed on it. With CSMIO/IP-A we can
also control feed speed and spindle revs using
potentiometers connected to analog inputs.
.
In „Override sources” tab you can set whether the speed
adjustment should be done through Mach3 screen, analog
inputs or additional MPG encoder axes, etc.
„Feed rate override” applies to feed speed and „Spindle
speed override” to spindle revs.
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 also well filtered (it’s good to
place RC filter in the connector). Incompetent connection of signals of a plasma generator to
CSMIO/IP controller may cause its damage.
10.9.5.2 HV Enable
In this place you can – for any CSMIO/IP con-
troller output – assign a function of main voltage activation (e.g. for servo drives). In many alarm situa-
tions 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.
In such situations the input signals filtering function may be very helpful. We define here filtering time.
I do not recommend using high values because of the fact that later there may some delays occur in
reaction to digital inputs.
If values of 1-15 (4ms – 60ms) don’t solve the problem, then a hardware and machine tool wiring qual-
ity may be the cause.
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.4 Extras
In CSMIO/IP software few additional functions were implemented, which increase safety and comfort
of work.
Auto Z-InhEnable 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.
LegacyHomeOffset Selecting this function cause Home Offset action change. A
machine after homing instead of travel back off with de-
manded distance it will only enter the demanded distance
into machine's coordinate.
Default MAC Default MAC address for a connection. It’s useful if in our
local network there are few CSMIO/IP controllers and we do
not want to select a controller we want to connect with at
every Mach3 start. It is set by „Set as Default” button and
reset using „Clear Default”.
Connected MAC Information about MAC address of currently connected
CSMIO/IP controller.
Name Currently connected controller name. You can name it by
yourself. The name will also be displayed in controller's se-
lection window if in local network there is more than one
CSMIO/IP controller. To give your name you must enter it
and click „Change Name”.
ClearDefault Default MAC address deletion.
Set as Default Default MAC address setting.
ChangeName Private name setting for connected CSMIO/IP controller. It
can be any name. However it can’t contain spaces or special
characters - e.g. „Lathe01”.
Parameter/group Description
name
ToolChange 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.
AngularProperties 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 program, 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.
Servo drives require fast and precise correction to the position error. Going back to the cars compari-
son, the point is that the driver from the chasing car should be as experienced as possible, so he could
predict behavior of the second running away car and to react precisely as the situation evolves. In
servo drives PID controller is the driver. The controller is a mathematical algorithm that is responsible
for motor reaction on deviations from set position. The PID name derives from the following terms of
the controller.
• Proportional
• Integral
• Derivative
Lets assume that the set position= 0, Kp = 10 and analyze the situation for a few different actual posi-
tions of a motor:
• Motor position = 0: Error is zero, so the ‘P’ term has also zero output so there is no cor-
rection (because it is not necessary).
• Motor position = 1: Error = (0 – 1) = -1. The output = 10 * -1 = -10.
• Motor position = 5: Error = (0 – 5) = -5. The output = 10 * -5 = -50.
• Motor position = -5: Error = (0 – (-5)) = 5. The output = 10 * 5 = 50.
As you can see above correction is greater the larger the error value is and direction of the correction
is opposite to the error direction. This part of the PID controller is effective at larger error values, for
smaller error values it is not doing very well.
The example above shows that even a small error may cause large offset (correction) value if it lasts
for longer time. In practice we deal not with seconds but with fraction of seconds because the PID
controllers work from a few hundreds to several thousand times per second.
Matching the ’P’ and ‘I’ terms we get a controller which immediately reacts on large error values (P),
and some other deviations it corrects with small delay (I). So it all starts to work pretty well.
All the parameters that usually do not need to be tuned are marked in grey. There is also division mar-
ket, where the controllers are placed. As you can see in CSMIO/IP-A there is only a position controller
and "predicting" element – „V FF ”. The velocity and current controllers are in servo amplifier.
Very common mistake is tuning the PID controller in CSMIO/IP-A when PID controller in servo amplifi-
er is not tuned. In this situation it is impossible to tune the entire system properly.
At the beginning short description of parameters and functions available in "PID Regulator tuning".
Autotuning –automatic:
Rigidity Setting target rigidity. By default 50%.
Start Autotuning mode start
To start PID regulator tuning in CSMIO/IP-A, a machine tool should be initially configured, especially
I/O signals, E-Stop should be checked as well as speed and axis scaling and acceleration.
Remember to tune a servo amplifier first in other way you will not be able to tune the regulator in
CSMIO/IP-A properly.
When tuning the safest way is to have a motor of only one (tuned) axis connected. Other motors
should be disconnected or power supply of servo amplifier should be disconnected.
• First - enter some small gain values at the beginning. It may be like in the picture above:
kP=1000, kI=15, kD=0, kVff=0. Max I Accumulator to 1000000. Set large maximal error (a
value corresponding to 1-2 motor revs).
• Set Jog Feedrate on a small value e.g. 5% and try to move the axis by clicking or
At low PID gain the axis may not move at once, keep the motion button pressed for a
moment and watch the position („AxisPosition” in Monitor group). If the motor does not
move check if servo drive is enabled (e.g. if it gets ENABLE signal). Check also if the motor
is equipped with a brake. If the motor works you can go to the next step.
• Increase the kP gain gradually moving an axis simultaneously (set motion speed to about
50%). To move the axis you can use constant motion function . You do not have to
then watch to not cross working area. If you hear the first signs of overcontrol (vibration,
humming) decrease kP value by 15% and leave this way.
As in servo drives we usually use „P” and „I” controllers for velocity, in CSMIO/IP-A theoretically for
position regulation the „P” parameter should be enough, but as experience say - tuning of the „I” pa-
rameter in CSMIO/IP-A increases positioning quality, regardless of the regulator used in a servo ampli-
fier. Therefore go to the next step - I parameter tuning.
• The procedure is just the same like for kP. Increase kI gain gradually moving an axis sim-
ultaneously. If you hear the first signs of overcontrol (vibration, humming) decrease kI
value by 15% and leave this way.
• kD usually can be set to „0”. You can use this parameter when an axis, occasionally goes
into oscillations. This parameter has rather large values so if we want to use it I would
start with 50000 value and larger. In this case we do not tune up till oscillation occur. We
set the value instead and wait if an axis has no longer tendency to go into oscillations. If it
still has then we increase the kD by another 50000 etc.
During tuning remember to click „Apply” after any value change only when these values are approved
and send to CSMIO/IP-A.
AT this stage the PID controller (regulator) is already tuned. Now you can decrease maximal permissi-
ble position error („Max following error”). You can set 4 x value of „Max Error” from the Monitor
group.
Close the configuration windows, all the settings will be saved on a disk. Close Mach3 and a system.
Connect a motor of another axis and start tuning like you did before.
where a constructor used a motor without pulley and it shows up that firstly: power of the motor was
used only in 15%, lack of torque (such situation takes place when nominal axis speed is get at 15%
servo motor nominal revs value reached). Lack of or too small pulley ratio makes correct tuning of axis
and a toothed difficult or sometimes even impossible. The pulley ratio should be well-matched, so
designed nominal axis speed results at nominal servo motor revs.
11.7.5 An axis after activation jerks or starts to move with max. speed.
In situations like this, first we must check an encoder. The counting direction (look at tuning descrip-
tion), electrical connections between a motor and a servo amplifier, encoder signal connections be-
tween servo amplifier and CSMIO/IP-A. Sometimes some strange effects result from confusion be-
tween motor phases, or HALL signals (if used).
Before we activate the automatic tuning function axes should be scaled and also acceleration and
max. speed of axes should be set in „ConfigMotor Tuning”.
For autotuning we need to set only one parameter – Rigidity. The highest is the value of the parame-
ter the "sharper" gain parameters will be matched, but also oscillation risk will be higher. In general it
is recommended to leave the slider in the middle position.
Before we start autotuning we should enter large value e.g. „1000000” in „Max I accumulator” area
and we should quite high max. Permissible error in „Max following error” – e.g. 10000 imp.
Very common mistake is autotuning performing when speed PID controller of servo amplifier is tuned
incorrectly. Badly tuned servo amplifier causes that correct tuning of the controller CSMIO/IP-A is IM-
POSSIBLE. A servo amplifier should be tuned first and then we can tune the CSMIO/IP-A. You should
remember that autotuning in servo amplifiers very often does not work very well and is not even close
to set correct parameters.
Autotuning function requires axis moving at the time. We should ensure place for that by setting an
axis manually in the middle of workspace.
A servo drive during tuning can do some rapid moves or go into oscillations. Before we start
autotuning verify if E-STOP button works correctly and be ready to press it immediately.
After we start the function an axis will start to move both sides alternately, analyzing in the meantime
the position error and adjusting parameters. Small oscillations and vibrations are normal thing and we
should just wait till the function ends its work.
When the motion stops it means that tuning was finished. Now you can try axis work by moving it with
keys in the JOG group. AT the beginning we should set some small speed e.g. 5% and increase it grad-
ually to 100% watching at the same time if there are no vibrations and what is max. temporary posi-
tion error („Max Error” in „Monitor" group).
In most of cases - if servo amplifier is tuned correctly - the autotuning function in CSMIO/IP-A motion
controller adjusts very good parameters and practically there is no need to tune it also manually.
However there are some specific machines where the autotuning function does not want to work
correctly. It may be e.g. when axes have very large inertia or if there is very large load asymmetry de-
pending on motion direction. In this case we should adjust PID controller parameters manually.
12.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”.
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. Al-
most always the inverters have various control modes. Without proper configuration, the inverter will
not respond 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 was 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 „Create” 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 program 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 program. When you select the format
pres „Save” and save our trajectory as e.g. „planning.tap”.
You should note that, in ArtCam program 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.
If we do not use the automatic tool length measurement, setting a Z
base at this point makes no sense. You should set it only if we place
the right tool. However, I as-
sume that such a sensor is
installed in the machine.
For Z-axis, we set the base
much like XY, raising the axis a
little higher above the material
level, next lowering it in step-
per mode until the lower roller
surface touches the material.
Now click the „Zero Z” to reset the Z coordinate 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.
The photos below show the work piece during the process, after work and after it is finished with gen-
tle sanding with emery paper.
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. Also – 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-A digital inputs and defining them correctly in Mach3 program.
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 programs 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 programs 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 program 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.
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 program always enter „1” <enter> into
the “Tool”. Similarly, when generating the g-code file in CAM program 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 program 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”.
On our website: www.cs-lab.eu you can download standard scripts for automatic tool-length
measurement 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
opportunities for self-expanding functionality of Mach3 program.
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-A 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.
15.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 (inputs 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 graph-
ical 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 this operation you should also
close and restart Mach3 program 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 damage of
machine mechanics. With servo-drives, you should always have alarm signals configured correctly.
CS-Lab Company made every effort to ensure reliability of CSMIO/IP-A 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-A 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 Program”.
CSMIO/IP-A controller is protected if update fails. There is always a possibility to try again
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.