User Manual - CS-Lab

User Manual - CS-Lab
6 axis CNC +/-10V controller
USER MANUAL
Applies to hardware version : v2
Applies to firmware version : v2.030
Rev 1.0
© Copyright 2013 – CS-Lab s.c.
Content
1
2
3
General .................................................................................................................................... 6
1.1
Signs used in this guide ................................................................................................... 6
1.2
Content ............................................................................................................................ 7
1.3
Standards compliance ..................................................................................................... 8
1.4
Specification .................................................................................................................... 8
Safety ....................................................................................................................................... 9
2.1
Example of direct E-Stop signal connection .................................................................. 10
2.2
Example of E-Stop Signal connection using PILZ module .............................................. 11
Recommendations for mechanical installation ..................................................................... 12
3.1
4
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
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
4.4.1
4.5
Encoder inputs connector (3 / 4 / 5) ............................................................................. 21
Signals on a terminal block connector ...................................................................... 21
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
4.6.1
4.7
Digital inputs connector (12-23).................................................................................... 26
Signals on a terminal block connector ...................................................................... 26
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
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 2
4.9
Power connector ........................................................................................................... 31
4.10
Communication connector – Ethernet .......................................................................... 31
4.11
Recommended cables ................................................................................................... 32
4.12
LED lights meaning ........................................................................................................ 33
4.12.1
Types and location of the LEDs.............................................................................. 33
4.12.2
LEDs state description - STATx .............................................................................. 34
4.13
Example - a scheme view of a 3-axis plotter (XYZ) ........................................................ 35
4.13.1
Power supply ......................................................................................................... 35
4.13.2
Servo drives connection ........................................................................................ 36
4.13.3
Limit switches and E-STOP signal. ......................................................................... 37
4.13.4
Inverter connection using analog output. ............................................................. 38
4.13.5
Automatic control of drives power supply (HV) .................................................... 39
5
Recommendations and drives selection (motors drives) ...................................................... 40
6
Precise homing with encoder INDEX signal ........................................................................... 41
6.1
7
Homing on "index" enable ............................................................................................ 41
LAN connection and configuration........................................................................................ 42
7.1
7.1.1
Windows®XP configuration ........................................................................................ 42
7.1.2
Windows® 7 configuration ......................................................................................... 43
7.2
8
Direct connection to the PC .......................................................................................... 42
Local network with router and DHCP. ........................................................................... 46
Mach3 program – general information ................................................................................. 47
8.1
9
Recommended PC configuration................................................................................... 49
Software installation ............................................................................................................. 50
9.1
Mach3 installation ......................................................................................................... 50
9.2
Microsoft® .Net installation (older operating systems) ................................................. 51
9.3
Installation of CSMIO/IP firmware ................................................................................ 51
9.4
Administrator rights in Windows® Vista and Windows® 7 ........................................... 53
10
Mach3 program configuration .............................................................................................. 54
10.1
Configuration profile creation ....................................................................................... 54
10.2
The first run ................................................................................................................... 55
10.3
Configuration of axes used in a machine ...................................................................... 57
10.4
Configuration of digital input signals ............................................................................ 58
10.5
Configuration of digital output signals .......................................................................... 60
10.6
Configuration of spindle and cooling ............................................................................ 62
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 3
10.6.1
Analog output configuration ................................................................................. 62
10.6.2
Problematic PWM Control function ...................................................................... 63
10.7
Configuration of resolution, speed and acceleration .................................................... 64
10.8
Configuration of directions, homing and software limits. ............................................ 66
10.9
Configuration functions in a plug-in window ................................................................ 68
10.9.1
Axes special functions ........................................................................................... 68
10.9.2
Spindle configuration ............................................................................................ 71
10.9.3
Override sources – feed speed and spindle revs corrections source selection .... 72
10.9.4
Plasma – additional functions for plasma cutters ................................................. 73
10.9.5
Misc IO – Special functions related to I/O ............................................................. 73
10.9.6
Other – other plugin functions .............................................................................. 74
10.10
Selection of inch/mm units ....................................................................................... 76
10.11
Some parameters in the General Config window ..................................................... 76
11
PID controller (regulator) ...................................................................................................... 78
11.1
What is PID controller ................................................................................................... 78
11.2
PID controller terms (parameters) operation ............................................................... 79
11.2.1
The proportional term – P ..................................................................................... 79
11.2.2
The integral term – I .............................................................................................. 79
11.2.3
The Derivative term – D......................................................................................... 80
11.2.4
The „sixth” sense – the mysterious K VFF parameter .............................................. 80
11.3
The actual controller in CSMIO/IP-A ............................................................................. 81
11.4
The order of controllers tuning ..................................................................................... 81
11.5
„PID Regulator Tuning” window.................................................................................... 82
11.6
Manual PID regulator tuning procedure in CSMIO/IP-A ............................................... 84
11.7
PID tuning – practical tips.............................................................................................. 86
11.7.1
Slave axis................................................................................................................ 86
11.7.2
An axis with toothed racks (straight toothed)....................................................... 86
11.7.3
Laud noises at standstill ........................................................................................ 87
11.7.4
Cannot start tuning because an axis does not move. ........................................... 87
11.7.5
An axis after activation jerks or starts to move with max. speed. ........................ 87
11.7.6
Cannot tune an axis ............................................................................................... 87
11.8
12
Autotuning – Automatic PID tuning .............................................................................. 88
First tests ............................................................................................................................... 90
12.1
Checking the input signals ............................................................................................. 90
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 4
12.2
Verification of axes scaling and motion directions ....................................................... 91
12.3
HOMING and software limit switches test .................................................................... 92
12.3.1
First homing ........................................................................................................... 92
12.3.2
SoftLimit switches.................................................................................................. 92
12.4
13
Test of spindle and cooling. ........................................................................................... 93
Sample treatment step by step ............................................................................................. 94
13.1
Project and G-Code files preparing ............................................................................... 94
13.2
Preparing machine and Mach3 program....................................................................... 98
13.3
We begin the treatment .............................................................................................. 100
14
A few practical notes about Mach3 program and CSMIO/IP-A........................................... 102
15
VisualBasic® macros ............................................................................................................. 104
15.1
Automatic tool-length measurement.......................................................................... 104
15.1.1
15.2
Configuration ....................................................................................................... 104
Automatic tool change macro ..................................................................................... 106
Addition A – Slave axis configuration example ........................................................................... 107
Defining axes used in Mach3 program ................................................................................... 107
Axis scaling and configuration ................................................................................................. 107
Activation and choice of slave axis .......................................................................................... 107
LIMIT and HOMING switches ................................................................................................... 108
Axis direction settings.............................................................................................................. 108
Manual feed test...................................................................................................................... 108
Automatic reading of HOME switches position difference ..................................................... 108
Geometry correction mode activation .................................................................................... 109
Addition B – –CSMIO/IP-A firmware update ............................................................................... 110
How to check your current firmware version.......................................................................... 110
Update application (uploader) ................................................................................................ 110
Plugin file update ..................................................................................................................... 111
Update verification .................................................................................................................. 111
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 5
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, protected 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 product works with Mach3 program because of its low price, popularity and enormous
ability to adapt to specific requirements. To meet customers' need, 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.
1.1 Signs used in this guide
__________________________________________________________________________________
Potential danger, possible injury risk
__________________________________________________________________________________
Useful information, tips
__________________________________________________________________________________
Warning, failure to comply with these warnings may lead to inappropriate functioning or
damage of the device
__________________________________________________________________________________
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 6
1.2 Content
The CSMIO/IP-A device is placed in a cartoon box with DB->Terminal Block adapters for easier wires
connection in a control cabinet. More content details below:
• CSMIO/IP-A - CNC controller
• 3x DB25Terminal block (2 pcs.)
• Ethernet connection wire
• DB25 connection tape (6 pcs.)
• „Phoenix” 3pin power plug
• CD with electronic version of the user guide and software
(always check if there is a newer version on http://www.cs-lab.eu )
In case of lack of any elements listed above, please contact your distributor.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 7
1.3 Standards compliance
The CSMIO/IP-A controllers were designed and made in accordance with the national and
international standards for industrial control systems based on electronic components:
• Detailed requirements for programmable controllers: working characteristics, shock resistance, 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
Digital inputs number
Digital outputs number
Analog inputs number
Analog 0-10V outputs number
Analog +/-10V outputs number
Encoder inputs number
Supply voltage
Power consumption
Maximum voltage on the in/out lines
Maximum load of an output line
A voltage range of analog inputs
Maximal load of analog outputs
Axis drives control type
Maximum frequency of an encoder signal
Encoder type
Encoder signal kind
PC connection
Ambient temperature range
Relative humidity
Value
24
16
4
2
6
6
24VDC +/-10%
5W
30VDC
250mA
0-10VDC
50mA
Analog +/-10V
6MHz
Incremental TTL
Differential
Ethernet 10/100Mb
0oC do +60oC
10% do 95%
(without condensation)
„KernelSpeed” a configuration parameter in Mach3 has no influence on CSMIO/IP working speed.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 8
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.
The best way is, to use for that purpose 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 connected 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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 9
2.1 Example of direct E-Stop signal connection
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 disconnected after pressing the mushroom. Using common NC contacts is dangerous. It’s worth to use
contacts from reputable companies. They are a little bit more expensive but their quality is much,
much better.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 10
2.2 Example of E-Stop Signal connection using PILZ module
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.
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 connected 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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 11
3 Recommendations for mechanical installation
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. However, 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.
3.1 Examples of components arrangement in a control cabinet.
3.1.1
Block scheme pictorial view
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 12
3.1.2
Control cabinet made by CS-Lab Company
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
between CSMIO/IP-A and IP-S models.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 13
4 Connectors, controls and electrical installation of the device
4.1 Connectors arrangement on the device
Analog I/Os
Encoders signals
(axes 3 / 4 / 5)
Encoders inputs
(axes 0 / 1 / 2)
Power connector
Expansion modules
connector
Communication connector (ETHERNET)
Digital inputs 0-11
Digital inputs 12-23
Digital outputs 0-15
Detail description of signals on each connector is placed in the next sections.
DB->Terminal 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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 14
4.2 Analog inputs/outputs connector
PIN number
Description
1
Analog output Ch0 (+/-10V)
2
Analog output Ch1 (+/-10V)
3
Analog output Ch2 (+/-10V)
4
Analog output Ch3 (+/-10V)
5
Analog output Ch4 (+/-10V)
6
Analog output Ch5 (+/-10V)
7
Analog output 0 (0-10V)
8
Analog output 1 (0-10V)
9
Analog input 0
10
Analog input 1
11
Analog input 2
12
Analog input 3
13
10V (max. 50mA)
14
GNDCh0
15
GNDCh1
16
GNDCh2
17
GNDCh3
18
GNDCh4
19
GNDCh5
20
GND
21
GND
22
GND
23
GND
24
GND
25
GND
Analog outputs for servo drives (Ch0,
Ch1, Ch2, Ch3, Ch4, Ch5) always connect with dedicated GND (GND Ch0,
GND Ch1…). Otherwise a servo drive
will not work properly.
There is 50mA max. permissable load
on analog outputs. Exceeding this
value may damage the output circuits.
Pay attention to not exceed the
permissable 10V voltage on the analog inputs. It may cause damage of
the device.
Pay attention to not overload 10V voltage output. Its permissable load is
50mA.
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: XCh0 / YCh1 / ZCh2 … CCh5. It can be
changed in plugin's configuration.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 15
4.2.1
Signals on a Terminal Block connector
Axes by default are assigned to following channels: XCh0 / YCh1 / etc.
Pin numbers Entered in Mach3 program in
Port&Pins” on „Motor Outputs” tab do not
matter. If you want to assign other STEP/DIR
channels numbers to an axis you should do it in
the plugin's configuration: menu „ConfigConfig
PlugInsCONFIG”.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 16
4.2.2
Example – connection and configuration of FRO and SRO potentiometers
Below you can see example of connection and configuration of potentiometers for feed rate correction and spindle revs regulation.
As you can see in the scheme, 10V placed on the analog
connector is very convenient and useful - thanks to it we do
not need any external power supply for the potentiometers.
The Potentiometer 1was connected to the analog input no.
0, and potentiometer 2 to analog input no 1. After the connection you can check it by viewing analog inputs in the
diagnostic window – menu „PlugIn ControlCSMIO_IP
plugin”, „Analog IO” tab.
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
window– menu „ConfigConfigPlugInsCONFIG”.
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 potentiometer.
At the end click „Save” to keep this settings.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 17
4.3 Encoder inputs connector (0 / 1 / 2)
PIN number
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Description
Enc. Ch0 A+
Enc. Ch0 B+
Enc. Ch0 I+
+5V
Enc. Ch1 A+
Enc. Ch1 B+
Enc. Ch1 I+
+5V
Enc. Ch2 A+
Enc. Ch2 B+
Enc. Ch2 I+
+5V
GND
Enc. Ch0 AEnc. Ch0 BEnc. Ch0 IGND
Enc. Ch1 AEnc. Ch1 BEnc. Ch1 IGND
Enc. Ch2 AEnc. Ch2 BEnc. Ch2 IGND
Pay attention to not exceed the permissible voltage (5VDC) on the input
lines.
Max. PINs load is +5Vto 200mA / pin.
The encoder inputs of CSMIO/IP-A
require differential signal. If connected encoder has a common output
then you should use special converter. Connection of A-, B-, I- to GND
Oz
causes axis position will be distorted.
Axes by default are assigned to the following channels: XCh0 / YCh1 / ZCh2 … CCh5. 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."
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 18
4.3.1
Signals on a Terminal Block connector
4.3.2
Example - connection of an encoder to Ch0 channel
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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 19
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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 20
4.4 Encoder inputs connector (3 / 4 / 5)
PIN number
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Description
Enc. Ch3 A+
Enc. Ch3 B+
Enc. Ch3 I+
+5V
Enc. Ch4 A+
Enc. Ch4 B+
Enc. Ch4 I+
+5V
Enc. Ch5 A+
Enc. Ch5 B+
Enc. Ch5 I+
+5V
GND
Enc. Ch3 AEnc. Ch3 BEnc. Ch3 IGND
Enc. Ch4 AEnc. Ch4 BEnc. Ch4 IGND
Enc. Ch5 AEnc. Ch5 BEnc. Ch5 IGND
Pay attention to not exceed the permissible voltage (5VDC) on input
lines.
Max PIN load is +5Vto 200mA per pin.
CSMIO/IP-A encoder inputs require
differential signal. If encoder has
common output then you must use a
special converter. Connection of A-,
Oz
B-, I- signals to GND causes that axis
position will be distorted.
Axes by default are assigned to the following channels: XCh0 / YCh1 / ZCh2 … CCh5. 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."
4.4.1
Signals on a terminal block connector
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 21
4.5 Digital inputs connector (0-11)
PIN number
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Description
Input 0 (+)
Input 1 (+)
Input 2 (+)
Input 3 (+)
Input 4 (+)
Input 5 (+)
Input 6 (+)
Input 7 (+)
Input 8 (+)
Input 9 (+)
Input 10 (+)
Input 11 (+)
Not used (GND)
Input 0 (-)
Input 1 (-)
Input 2 (-)
Input 3 (-)
Input 4 (-)
Input 5 (-)
Input 6 (-)
Input 7 (-)
Input 8 (-)
Input 9 (-)
Input 10 (-)
Input 11 (-)
Pay special attention to not exceed
the permissible voltage (30VDC) on
input lines. It may cause damage of
the device.
In „Port&Pins” configuration of
Mach3 program the value in „Pin”
column does not mean a pin number
on CSMIO/IP connector but input
number.
So typing „10” mean Input 10, and so
Oz
Pin 11(+) and pin 24(-) on CSMIO/IP
connector.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 22
4.5.1 Input circuits construction
Below - simplified scheme of CSMIO/IP-A input circuits. On the scheme 0 – 11 Inputs are marked as
IN 0 – 11.
4.5.2
Signals on a terminal block connector
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 23
4.5.3
Examples - input signals connection
4.5.3.1 PNP type inductive sensor
In this example the sensor with PNP type output was connected to input no. 1. So in this case in
Mach3 program we give port=10 / pin=1.
4.5.3.2 NPN type inductive sensor
In this example the sensor with NPN type output was connected to input no. 3. So in this case in
Mach3 program we give port=10 / pin=3.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 24
4.5.3.3 Common NC type switch
In this example the NC type limit switch was connected to CSMIO/IP input no. 8. So in this case in
Mach3 program we give port=10 / pin=8.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 25
4.6 Digital inputs connector (12-23)
PIN number
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
4.6.1
Description
Input 12 (+)
Input 13 (+)
Input 14 (+)
Input 15 (+)
Input 16 (+)
Input 17 (+)
Input 18 (+)
Input 19 (+)
Input 20 (+)
Input 21 (+)
Input 22 (+)
Input 23 (+)
Not used (GND)
Input 12 (-)
Input 13 (-)
Input 14 (-)
Input 15 (-)
Input 16 (-)
Input 17 (-)
Input 18 (-)
Input 19 (-)
Input 20 (-)
Input 21 (-)
Input 22 (-)
Input 23 (-)
Pay special attention to not exceed
the permissible voltage (30VDC) on
input lines. It may cause damage of
the device.
Inputs: 12 – 23 have identical construction like inputs: 0 -11. Look at
Oz 0 – 1 description in the previinputs:
ous section.
Signals on a terminal block connector
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 26
4.7 Digital outputs connector (0-15)
PIN number
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Description
24V power supply for outputs: 0-3
Output 0
Output 2
24V power supply for outputs:4-7
Output 4
Output 6
24V power supply for outputs: 8-11
Output 8
Output 10
24V power supply for outputs: 12-15
Output 12
Output 14
GND (not used)
0V GND for outputs: 0-3
Output 1
Output 3
0V GND for outputs: 4-7
Output 5
Output 7
0V GND for outputs: 8-11
Output 9
Output 11
0V GND for outputs: 12-15
Output 13
Output 15
The outputs have 250mA load. You
must also pay attention to large inductances if connected it is recommended to use additional surge led,
preferablu as close to a coil.
In „Port&Pins” configuration of
Mach3 program the value in „Pin”
column does not mean a pin number
on CSMIO/IP connector but output
number.
Oz
So typing „9” mean output 9, and so
Pin 21 on CSMIO/IP connector.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 27
4.7.1
Output circuits construction
As you can see in the scheme, every output is optically isolated. The outputs are
divided, four in each group.
Each group is controlled by specialized
integrated circuit VNQ860. These circuits
work in PNP logic so the high state (+24V)
is the active state.
VNQ860 circuits are not supplied by the
same source as CSMIO/IP. If they were
then the opto-isolation wouldn't have
much sense. Therefore we must remember to supply the power to every group of
outputs that we use.
If we do not care about separation of the CSMIO/IP Controller power supply and digital outputs potentials 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.
4.7.2
Signals on a terminal block connector
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 28
4.7.3 Example – spindle activation signal
In the example below, basing on configuration of outputs that activates the spindle (M3), we can see
exactly the following dependence:
[Mach3 program signal]  [CSMIO/IP signal]  [Pin on CSMIO/IP connector]
PIN number
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Power of outputs group
(4 – 7)
Description
24V Power for 0-3 outputs
Output 0
Output 2
Power 24V for 4-7 outputs
Output 4
Output 6
Power 24V for 8-11 outputs
Output 8
Output 10
Power 24V for 12-15 outputs
Output 12
Output 14
GND (not used)
GND 0V for 0-3 outputs
Output 1
Output 3
GND 0V for 4-7 outputs
Output 5
Output 7
GND 0V for 8-11 outputs
Output 9
Output 11
GND 0V for 12-15 outputs
Output 13
Output 15
Output no. 5 CSMIO/IP
Controll signal (e.g. to an inverter)
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 29
4.8 Expansion modules connector
PIN numbers
1
2
3
4
5
6
7
8
9
Description
CAN H
RS232 RxD
RS232 TxD
GND
CAN L
RS485 BRS485 A+
-
The connector is only designed for expansion modules by CS-Lab s.c. company.
You shouldn't copnnect here any other devices, PC etc.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 30
4.9 Power connector
PIN number
1
2
3
Description
Power – 24V DC
GND
ground
View of the plug from the
side of connecting wires
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, electromagnetic clutches – it is recommended to use separate 24V power supply for
the mentioned receivers and separate for CSMIO / IP-S.
4.10 Communication connector – Ethernet
PIN number
1
2
3
4
5
6
7
8
TX+
TXRx+
RX-
Description
It is recommended to use shielded cable FTP or STP cat.6.
A network interface has no Auto MDI-MDIX function. So when we connect
CSMIO/IP-S directly to a computer we should use so-called crossover cable. If you
connect it to the network switch or router - use a non-crossover cable.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 31
4.11 Recommended cables
Connections type
Digital In/out
Analog In/out
Encoder signals
Drives control
– analog signals +/-10V
Ethernet communication wire
Power supply
CAN expansion modules
Recommended cable
Minimum cross-section 0,25mm2 (AWG-23)
Cross-section 0,25mm2 (AWG-23)- shielded or pair of signalto-mass wires twisted together along the entire length
Cross-section 0,25mm2 (AWG-23) - shielded - twisted. Eventually PC FTP cable. You should remember that for pair of
signals (e.g. A+/A-) always use twisted pair of cables.
Cross-section 0,25mm2 (AWG-23) - shielded - twisted. Eventually PC FTP cable. You should remember that for pair of
signals (e.g. Out Analog Ch0 /GND Ch0) always use twisted
pair of cables.
Standard network cable, shielded - FTP, cat. 6.
Min. cross-over 0,5mm2(AWG-20)
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 socalled 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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 32
4.12 LED lights meaning
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 safety switches (E-Stop) etc.
4.12.1 Types and location of the LEDs
Digital inputs 0-23 LEDs, Error LEDs and
communication ports activity LEDs
Digital outputs 0-15 LEDs and device
state information (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
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 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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 33
4.12.2 LEDs state description - STATx
Diodes state
Description
STATx
Standby, waiting for transmission of configuration parameters from a computer. It is a default state after switching power on, before communication
with Mach3 program.
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).
Buffering motion trajectory data.
The controller is in a G31 command mode (tool measurement sensor
touched, scanning etc).
Mode of an interpolated motion on a trajectory– CNC program or MDI
command performing. Also movement commands from the script level
(macro) of Mach3 program cause this state.
Emergency stop. It means active state appears on an input line defined as
the E-Stop or E-Stop call from the Mach3 level.
Alarm state. It appears when controller work was stopped as a result of
problems detection. This state can be caused by such situations like: FAULT
signal of servo drive, hardware limit switch signal, working area exceeded
at SOFT-LIMIT function switched on, etc.
Others. This state shows appears on case of other additional functions such
as: rigid tapping, etc.
Explanations:
 LED light is off
 LED lights continuously
 LED light flashes
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 34
4.13 Example - a scheme view of a 3axis plotter (XYZ)
4.13.1 Power supply
In the example single DC 24V power supply was
used. Usually there is no sense to use separate
power supply for CSMIO/IP and for other components, unless there were expensive/sensitive
components used in the system or components
that generate much interference (large solenoid
valves, contactors, electromagnetic brakes etc.).
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 35
4.13.2 Servo drives connection
Below you can see sample servo drive connection. We can differentiate three basic signals functions:
encoder, analog signal +/-10V and digital control signals.
Encoder signals inform the controller about current motor (axis) position. Analog +/-10V signal controls motor rpm via servo amplifier and control signals are: drive activation, fault reset and a signal
that informs about alarm (e.g. overload, overheat etc.) of the drive.
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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 36
4.13.3 Limit switches and E-STOP signal.
The easiest option ensuring a necessary safety is to use two (2) switches, both sides of an axis. In this
case one switch works only as safety LIMIT signal and the other has double function: LIMIT and HOMING.
In our example of three axis plotter, we are homing the X and Y axes on the negative side (towards
decreasing coordinates), so the double function will be performed by LIMIT-- switches. And we are
homing Z axis upward and up move usually, on CNC machines is a movement in the positive direction. So for Z axis the double function will be performed by LIMIT++ switch.
CSMIO/IP-A signal
Input 3(+)
PIN number on
CSMIO/IP-A connector
4
Function
X LIMIT-(X HOME)
Mach3 Port
(Port&Pins)
10
Mach3 Pin
(Port&Pins)
3
Input 4(+)
5
X LIMIT++
10
4
Input 5(+)
6
Y LIMIT-(Y HOME)
10
5
Input 6(+)
7
Y LIMIT ++
10
6
Input 7(+)
8
Z LIMIT--
10
7
Input 8(+)
9
10
8
Input 9(+)
10
Z LIMIT++
(Z HOME)
E-STOP
10
9
Input 3-9(-)
17-23
‘-‘ potential for inputs: 3-9
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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 37
4.13.4 Inverter connection using analog output.
In the example above you can see connection of Commander SK for spindle support.
CSMIO/IP-A outputs in use:
CSMIO/IP-A signal
CSMIO/IP-A connector
PIN number on u
CSMIO/IP-A
connector
20
Inverter function
AGND – reference potential for
analog input of speed command
Analog GND connection
DB25 – Analog I/O
Analog output 0
DB25 – Analog I/O
7
CSMIO/IP digital outputs Power
GND
DB25 – Digital outputs (0-15)
17
Outputs 4 and 5 power
DB25 – Digital outputs (0-15)
4
24V output for controlling signals
Digital output 4
DB25 – Digital outputs (0-15)
5
Right revs switching
Digital output 5
DB25 – Digital outputs (0-15)
18
Left revs switching
Voltage input 0-10V of speed command
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".
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 38
4.13.5 Automatic control of drives power supply (HV)
The CSMIO/IP-A controller allows for automatic
control of drives power supply and eventually
also some other devices. This function is set in
the menu „Config  ConfigPlugIns  CSMIO/IPA CONFIG”. The logic of the output operation,
defined as so called „HV Enable” is very easy.
Voltage is switched on at the moment of Mach
program “Reset” request and stays “on” till 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 program
• Error of position/speed regulators inside the CSMIO/IP-A
Below - an example of output connection, used as „HV Enable”.
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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 39
5 Recommendations and drives selection (motors drives)
Choosing drives to work under CSMIO/IP-A control - first of all - you should make sure that they can
be controlled by analog signal +/- 10V and that the drive has encoder input in differential 5V standard. It is also possible use double feedback - then we connect linear encoders mounted on machine's
axes and encoder outputs from drives we leave free.
When you already have a manufacturer in mind and drive model you must choose its power. It is not
that easy. To weak drive will reduce your machine operation capacity and to strong will increase your
costs unnecessarily. Some manufacturers of drives/motors provide special applications that help to
choose the drive power. Users that do not have too much experience can use the examples below to
get familiar with this subject.
•
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
example drive screw vibrations - then 66% of potential drive power will be wasted... Moreover - incorrectly 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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 40
6 Precise homing with encoder INDEX signal
Encoder INDEX signal highly improves accuracy and repeatability of homing. As in CSMIO/IP-A it
works with incremental encoders, after switching on the power the control system does not know
the axes position. That is why we need to perform homing (or reference travel as other may call it).
Homing precision is especially important in situation when careful workpiece machining will be
stopped because of some reason (like power failure). After system restart we must perform homing
and it depends on homing precision how will the machine fit into the dimension.
Homing "on index" sets motor rotor almost always in the same position. If there are any deviations they may result from poor mechanics condition, in example machine large backlash.
It is always worth to connect index signal for encoder output of servo drive to get more precise homing.
6.1 Homing on "index" enable
In plugin configuration window there is
possibility to select homing mode for each
axis: common or on index.
The configuration was described in detail in
Chapter 10.
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
correct. Too small distance may cause homing deviations of even whole motor shaft rev.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 41
7 LAN connection and configuration
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.
7.1 Direct connection to the PC
CSMIO/IP-A controller can be connected directly to the PC, without any switches or routers. With this
connection, you should remember to use the crossover cable. CSMIO/IP set includes the cable. Below – how to perform the wiring.
Plug-in 1
Cable color
Plug-in 2
1
white-orange
3
2
orange
6
3
white-green
1
4
blue
7
5
white-blue
8
6
green
2
7
white-brown
4
8
brown
5
For direct connection, you should set static IP address on your computer: 10.1.1.1 and mask:
255.255.255.0.
7.1.1
Windows®XP configuration
•
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”.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 42
7.1.2
•
In this window – select the „Internet protocol (TCP/IP)” position and click left mouse
button 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.
Windows® 7 configuration
In control panel we choose „View network status and tasks”
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 43
Next - select „Change adapter settings”.
Click with right mouse button and select “Properties” of network connection.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 44
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
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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 45
7.2 Local network with router and DHCP.
If we plug the CSMIO/IP-A controller in to the computer network where is a router that allocates IP
addresses, the device automatically downloads the address and network mask settings.
Usually there is no need to know what IP address was assigned to the device because the plug-in and
the application that updates the controller software automatically searches the CSMIO/IP-A in the
network. However if you want to know what IP address the controller has, you can find it out from
the router’s configuration page (the controller is called CSMIO-IP-xxxx, where xxxx are the last
four figures of MAC’s hardware address). Here is an example screenshot of the DHCP server where
you can see the CSMIO/IP device in the network.
When you connect the CSMIO/IP-A controller to a network with router, you should use a noncrossover cable (so called Straight Thru, or 1:1). The wiring way is shown below:
Plug 1
Cable color
Plug 2
1
white-orange
1
2
orange
2
3
white-green
3
4
blue
4
5
white-blue
5
6
green
6
7
White-brown
7
8
brown
8
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 s.c. –CSMIO/IP-A- CNC controller
Page 46
8 Mach3 program – general information
Mach3 software of the ArtSoft® Company has developed over many years and during these years, it
gathered many users. For relatively low price (~170USD) we get complete solution for multi-axis CNC
machining. Key benefits of the program are:
• Flexibility
o Ability to create own user interfaces, transparent and suited to specific machine
applications. There is a special visual editor where you can create the Mach3 interface design from the beginning or use already existing project. On the internet, there are many ready solutions. Below – one of the most visually attractive
interfaces available on www.machmotion.com.
Ability to self-extend the functionality of the program through macros, written
in simple and known by many people - VisualBasic®. It allows you to implement
a variety of measurement probes, automatic tool length measurement, automatic storage of tools in many variants etc.
o Plug-ins support, which further extend functions of the program and allows for
cooperation with outside motion controllers. Connection with CSMIO/IP-A controller is made by that plug-in, made by our company.
Easy to use
o Those, who are already little familiar with CNC machines are able to learn all the
general functions and rules of using the Mach3 program – within one day.
o Configuration of the key parameters is transparent and intuitive, so they can be
quickly adjusted to the requirements of a specific machine.
Dynamic analysis of the trajectory
o CNC program is analyzed in advance, so it allows for optimal adjustment of motion speed at every point of trajectory. Thus, the program is done quickly, but
with full smoothness of the motion.
o
•
•
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 47
CS-Lab Company is an authorized distributor of Mach3 program in Poland. If you would like to buy
the license, please contact us: [email protected]
If you order CSMIO/IP-A controller and you want to order the license right away, please note it in
your order and specify person/company, the license should be issued for.
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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 48
8.1 Recommended PC configuration
The Mach3 program does not have any unreasonable requirements about a PC computer, unless tool
paths you use take even up to tens of megabytes – then we would recommend a bit faster computer.
Even simulation of a runtime with so large paths will follow more efficiently on faster PC computer.
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 reinstall the operating system.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 49
9 Software installation
Before we begin our work, we should install the Mach3 software and plugin that ensures proper cooperation of the program and the CSMIO/IP controller on a PC computer.
9.1 Mach3 installation
The latest version of Mach3 software you can download from ArtSoft® website:
http://www.machsupport.com/downloads.php
After the file is downloaded, you should launch it and follow the screen instructions. Generally, you
should just press the „Next” button. In the window with components to install selection – uncheck
the „Parallel Port Driver” position. It is a parallel port driver that is unused with CSMIO/IP controller.
Next, we can create a configuration profile, which we are going use. You can also create the configuration profile later. If we want to do it during the installation, then – click selecting your machine
type:
•
•
•
Mill profile
Turn profile
Plasma
-
milling machine
lathe
plasma or gas cutter
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 special characters (underscore is allowed).
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 50
9.2 Microsoft® .Net installation (older operating systems)
If you use OS older than Windows® 7, it may be necessary to install Microsoft® .Net. This program is available on Microsoft® website and on CS-Lab Company website: http://www.cslab.eu/en/upload/pub/dotNetFx35setup.exe
For proper installation, you have to be connected to the Internet. The installation is automatic you
should only approve next steps and restart your computer when it is finished.
9.3 Installation of CSMIO/IP firmware
CSMIO/IP firmware is provided as a convenient-to-use installer. Setup proces is very fast and does
not take even a minute.
Run setup file.
Click „Next” and … again „Next” – there are no reasons to modify installed components.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 51
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”.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 52
9.4 Administrator rights in Windows® Vista and Windows® 7
It is recommended to launch Mach3 program in Windows® Vista, Windows® 7 and Windows® 8 operation
systems with administrator rights.
Open „C:\Mach3” directory, find Mach3.exe file and
click right mouse button. Select “Properties” position
from the menu, and next select the „Compatibility”
tab.
Next, select the „Launch this program as administrator” and click „OK”.
From now, the Mach3 program will always run with
administrator rights.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 53
10 Mach3 program configuration
After software installation, you should configure it all to match the settings and the controlled machine 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
• Program design customization (eventually).
Configuration is an individual matter for each machine, anyway in the next sections you will find
some general rules.
10.1 Configuration profile creation
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.
In next window, enter a profile name: e.g.
„MyMillingMachine_400x250_CSMIO_IP"
Avoid spaces and special signs (an underscore
is allowed). From the „Clone from” list select:
•
•
•
Mach3Mill, if you are creating milling machine profile.
Mach3Turn, if you are creating lathe profile.
Plasma, if you are creating plasma or gas cutter profile.
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
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 54
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.
10.2 The first run
Before that you should connect Ethernet cable of the controller to a computer or plug it into a computer 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:
Select motion controller type –
„CSMIO_IP/P” and fill in the check
box: „Don’t ask me again”, so Mach3
in this configuration profile will always use CSMIO/IP-A controller. Confirm your selection with “OK".
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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 55
You will see CSMIO/IP diagnostic window. If the "Connection status” light is green it means that the software is installed correctly and communication between Mach3 program CSMIO/IP controller is also
correct.
If during Mach3 program launching the „CSMIO/IP connection” window
will appear and the „Connection status” light in the diagnostic window will
flash red, it means that the CSMIO/IP-A was not found in the network. In
that case, check some possible reasons:
:
• The Ethernet cable must be connected to the device before turning the power on. If it
was not:
o Close Mach3
o Turn CSMIO/IP-A off
o Connect Ethernet cable to the Internet
o Turn on CSMIO/IP-A power
o Wait 10 seconds
o Start the Mach3 program again
• If CSMIO/IP-A connected directly to PC, verify if network settings are correct – described
in chapter 7. Quit Mach3 program, verify the settings and change if necessary, start the
program again.
• If at least 10 seconds have not passed from turning on the device power to Mach3
launching –quit the program 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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 56
10.3 Configuration of axes used in a machine
At the beginning, you should activate support of the
axes you are going to use. Select the
menu position „ConfigPorts and Pins” and next
„Motor Outputs” tab.
Select axes we are using by clicking „Enabled” - the
green ticks will appear next to them. We do not activate slave axes in that window.
•
•
Example 1: 3 axis plotter X, Y, Z.
o Activate the X, Y, Z-axes.
Example 2: 3 axis plotter + rotary A axis, Y-axis on two drives (slave axis).
o Activate the X, Y, Z, A axes (the slave axis shouldn’t be activated here).
Using CSMIO/IP-A controller the settings in „Motor Outputs” related to STEP/DIR signals do not matter. The only active parameter is axes enabling and disabling („Enabled” column).
By default axes are assigned to the following
+/-10V and encoder channels: X[0] / Y[1]
/ etc.
Pin numbers entered in Mach3, in
„Port&Pins” window, „Motor Outputs” tab
do not matter. To assign other channel numbers to the axes you should do it in plugin
configuration: menu „ConfigConfigPlugIns
 CONFIG”.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 57
10.4 Configuration of digital input signals
Configuration of the input signals we call from menu
„ConfigPorts and Pins”, by selecting „Input Signals”
tab. A list of standard input signals will appear and
you can assign these signals to hardware inputs of
CSMIO/IP-A controller.
Columns explanation:
Column name
Enabled
Description
•
•
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
Input port number – for CSMIO/IP it is always port no. 10.
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.
Signal polarization change, it is a selection whether the signal should be
active at 0V or at 24V.
Signal emulation with keyboard shortcut. In CSMIO/IP-A controller, only
some signals may be emulated: „THC On”, „THC Up”, „THC Dn” and
„Probe”.
Keyboard shortcut for signal emulation.
Port #
Pin Number
Active Low
Emulated
HotKey
Detailed description of the signals is available in ArtSoft® documentation: www.machsupport.com,
below we present short description of the most important.
Signal signature
X++, Y++, Z++, A++, B++, C++
X--, Y--, Z--, A--, B--, C-X Home, Y Home, Z Home,
A Home, B Home, C Home
INPUT1 – INPUT4
Probe
Index
Limit Ovrd
Description
Hardware signals of positive limits. A machine stops immediately
when one of the signals becomes active.
Hardware signals of negative limits. A machine stops immediately
when one of the signals becomes active.
Signals of axis HOMING
Input signals for general use. They can be used e.g. in VisualBasic®
scripts.
Signals of a measurement probe, e.g. sensor of tool length measurement sensor.
Index from a spindle for rotational/threading speed measurement.
Motion forcing, if one of LIMIT signals is active. It is useful to allow
for move back off the limit switch. If we are using Auto Limit Override function – this signal is useless.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 58
EStop
THC On
THC Up
THC Down
OEM Trig 1-15
JOG X++, JOG Y++, JOG Z++,
JOG A++
JOG X--, JOG Y--, JOG Z--,
JOG A--
Emergency stop. You should pay special attention to set this signal
correctly and test how it is functioning.
For plasma cutters. During plasma cutting a machine stops automatically, when this signal becomes inactive.
For plasma cutters. Signal of automatic torch high control, an active
state causes Z-axis rising.
For plasma cutters. Signal of automatic torch high control, an active
state causes Z-axis lowering.
External function releasing. Using these signals, you can e.g. start a
program with a button on a machine desktop.
Signals that allow for motion of each axis in manual mode (movement in a positive direction).
Signals that allow for motion of each axis in manual mode (movement in a negative direction).
If you are not sure on which input in the CSMIO/IP-A is one of
the signals connected, then you can open diagnostic window
from the „Plugin Control/CSMIO_IP_P_plugin” menu, go to
the „Digital IO” tab and in the „Digital inputs” area there is a
preview of all inputs state of our controller. Then you can just
e.g. pressing a limit switch manually to look at a screen, and
see, which input changed its state. You can also watch the
LEDs located on the controller.
After all input signals configuration it's worth to
check, whether it has been done correctly. To do so,
close the configuration window, approving with
„OK” and then go to the „Diagnostics” screen (top
button bar in Mach3 program window).
Under the „Input Signals current State”, there are
controls, which show current state of input signals
of the Mach3 program. Now you can press the
emergency stop button, the „Emergency” LED
should start flashing. The same way you can check
other signals, e.g. by pressing manually the limit,
homing switches and so on.
Check carefully the E-STOP signal functioning before you continue your configuration. It is very important to have possibility to stop the machine immediately, especially during the first run and
configuration!
In the CSMIO/IP controller, there was additionally implemented fault signals support from servo
drives. Details in the „Additional configuration functions” chapter.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 59
Since the CSMIO/IP v1.07 software version
there is a possibility to give the same input
PIN as LIMIT and HOME. You should disable the „Home Sw. Safety” option in
„General Config” window of Mach3 program. With „Home Sw. Safety” option
disabled, the LIMIT signals are not monitored during homing.
10.5 Configuration of digital output signals
Digital outputs are used for such tasks as e.g. spindle/torch activation, activation/releasing brakes of electromagnetic motors, cooling, solenoids valves activation, etc.
The outputs configuration is almost the same as
the inputs configuration.
Columns explanation:
Name of the column
Enabled
Description
•
•
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
Input port number – for CSMIO/IP-A it is always port no. 10.
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.
Signal polarization change, it is a selection whether the signal should be
active at 0V or at 24V.
Port #
Pin Number
Active Low
Detailed description of the signals is available in ArtSoft® documentation: www.machsupport.com,
below we present short description of the most important.
Signal signature
ENABLE1-6
OUTPUT1-20
Current Hi/Low
Description
Signals of axis enabling. Can be used e.g. as an enabling signals
(Servo ON) in servo drives. For axes in use (section 10.3), the signals pass into active state after pressing RESET on Mach3 screen. If
Mach goes into stop state, the signals are disabled.
Universal outputs. Can be used to control a spindle, cooling as well
as from VisualBasic scripts level.
Current limit output for stepper motors. In CSMIO/IP-A this signal is
not used.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 60
Again, during system startup the diagnostic window from the
“PlugIn Control” menu may be helpful. In „Digital IO” tab,
you can view current output signals state and assess if any
problems result from some wrong configuration or from
some incorrect electrical connection.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 61
10.6 Configuration of spindle and cooling
First of all, you must configure output signals. For
that you should select „Config/Ports and Pins” from
menu and go to „Spindle setup” tab. In „Relay control” group set Mach3 output signals numbers (these are not the numbers of CSMIO/IP outputs, see
previous section about output signals configuration). Here you can select the OUTPUT1-6 signals.
There are two options: for right revs (M3) and left revs (M4). We must uncheck „Disable Spindle Relays” 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 activation, 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 highrevs spindles need a little time after activation to speed up to the required speed. In the „General
Parameters” group, we can define independently an acceleration and deceleration time for right and
left revs.
CW Delay Spin UP
CCW Delay Spin UP
CW Delay Spin DOWN
CCW Delay Spin DOWN
Acceleration time for right revs
Acceleration time for left revs
Deceleration time for right revs
Deceleration time for left revs
10.6.1 Analog output configuration
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-A. 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
pulleys). Select the „Config/Spindle Pulleys...” menu position. If we
use one ratio then enter „Min” and „Max” revs. Approve with „OK.”
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 62
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.
Again, during the startup the diagnostic window may be helpful. In the „Analog IO” tab, you can preview current voltages on
analog inputs and outputs. When we configure the spindle,
then in a MDI tab you can enter e.g. M3 (enter), S2000 (enter).
It should cause spindle activation (right revs) and setting the
revs on: 2000 rpm. In the diagnostic window, you can see digital outputs and voltage on analog output activated.
Additionally the icon informs us which analog input is configured to control a spindle.
Check carefully inverter settings before spindle activation, incorrect configuration may cause permanent 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.
10.6.2 Problematic PWM Control function
A frequent reason of problems with analog inputs is „PWM Control” option set in Mach3. On first
sight, sometimes we do not see this position is marked, especially when „Use Spindle Motor Output”
position is not active. Below you can see correct and incorrect settings.
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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 63
10.7 Configuration of resolution, speed and acceleration
Before we start working, it is absolutely necessary to
correctly set resolution (so called scaling) of axes and to
set their max. speed and acceleration -in the Mach3
program - „Config/Motor Tuning” menu. In the window, first select an axis you want to configure, next
enter parameters and click „SAVE AXIS SETTINGS”. Now
you can select and set the next axis.
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,
and if the axis is set as linear or angular). In case of CSMIO/IP-A steps number is pulses number of
encoder per motor rev (with all edges). You should also include eventual electronic pulley in servo
amplifier.
To explain how to calculate we present an example below:
•
•
•
•
A linear axis is driven by servo motor with
(with all edges).
Servo drive is configured without electronic pulley.
To transfer the drive there was a ball screw used - pitch 10mm.
No ratio between motor and a screw.
𝑆𝑡𝑒𝑝𝑠𝑃𝑒𝑟 =
10000
p/rev
encoder
𝑠𝑡𝑒𝑝𝑠 𝑛𝑢𝑚𝑏𝑒𝑟 𝑝𝑒𝑟 𝑚𝑜𝑡𝑜𝑟 𝑟𝑒𝑣
𝑓𝑒𝑒𝑑 𝑝𝑒𝑟 𝑚𝑜𝑡𝑜𝑟 𝑟𝑒𝑣
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 machine working.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 64
Remember to click „SAVE AXIS SETTINGS” for each axis after finished edition. Perform the configuration as follows:
Open „Motor Tuning” window Select axis („Axis Selection”) Enter the parameters”SAVE AXIS
SETTINGS”Select the next axisetc. 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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 65
10.8 Configuration of directions, homing and software limits.
When axes are scaled and their speed is configured, it is important to set directions correctly.
Useful function is possibility to indicate software
limits - the machine working range.
Select in the menu „ConfigHoming/Limits” position. In the window, we have configuration parameters for each axis:
Column name
Reversed
Soft Max
Soft Min
Slow Zone
Home Off.
Home Neg
Auto Zero
Speed %
Description
Switching this field, you change direction of an axis motion.
Maximum range of motion in positive direction
Maximum range of motion in negative direction
In CSMIO/IP-A, this field is not used. In LPT, it is used to define a section
for braking near to the end of working range. CSMIO/IP-A controller automatically calculates the braking distance including acceleration defined
for the axis. The best way is to enter 0 in this box.
Starting v1.07 version software - in this field we can define a distance of
going off from HOME sensor after homing. If we enter e.g. 5mm then the
controller will home the axis on a HOME sensor and after that it will go
off with 5mm and reset axis position. You can also enter a negative value
- in some cases it us very useful.
As a standard an axis homing goes into negative direction. However we
usually home the Z axis upwards and the down motion is a negative direction. So we have to do Z axis homing in a positive direction. Home Neg is
to select homing direction.
This area is not used on the CSMIO/IP-A controller. After homing – the
axis is always zeroed.
Homing speed. It is shown as a percent of maximum speed defined in
„Motor Tuning”. For the first tests we recommend 10%.
Attention! – you can enable and disable software limits. If they are enabled, the program cannot
control 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 window 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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 66
When software limits option is active („Soft
Limit” on a Mach3 main screen), the
CSMIO/IP-A controller does not let for any
move if axes of a machine are not homed.
Current status of the function is shown by a
green light around „Soft Limit” button.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 67
10.9 Configuration functions in a plug-in window
The configuration window of plugin is activated by „ConfigConfig Plugins” menu position, click
„CONFIG” next to the CSMIO/IP name.
If there were different types of CSMIO/IP controllers installed then click “Config” next to the controller that will be used.
10.9.1 Axes special functions
Axis configuration is divided into the following groups:
•
•
•
•
•
Servo Alarm Input
Channels Selection
Index Homing
PID Regulator
Slave Axis Configuration
10.9.1.1 Servo Alarm Input - an alarm input in servo drives
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.
Enabled
Low Active
Pin
Function enable/disable
Active signal in a Low state
Input number on CSMIO/IP-A controller
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 68
10.9.1.2 +/-10V and encoder channels selection
CSMIO/IP-A controllers have six (6) +/-10V output channels and 6 encoder inputs. By default for X
axis channel 0 is assigned, for Y - channel 1, for Z - channel 2 and so on.
For each axis we can assign any channel +/10V and any encoder input.
We select +/-10V output from "DAC Output Channel" list, and the encoder input is selected from
„Encoder Input Channel” list. In this place we can also change direction of encoder counting by clicking „Enc. ReverseDirection” option.
10.9.1.3 Index Homing
If we connected INDEX signal from servo drive to the controller, then we can enable precise homing
function with INDEX signal use. It greatly improves homing repeatability, even when homing switches
have quite large spread.
Enabled
Function enable/disable
Encoder Pulses/Rev
Pulses number per encoder rev (with all edges)
10.9.1.4 A PID controller
„PID Tuning” button opens a PID controller tuning window. Tuning is described in chapter 11.
10.9.1.5 Slave Axis Configuration
In large machines there are often two motors used to support single axis – one on each side. Even
though in Mach3 program - „Config” menu there is a position to configure slave axes, we provide
here autonomous support for the function, to increase reliability level.
Some users implement a slave axis by linking two drives. Slave axis implementation in CSMIO/IP-A
has one significant advantage - available function of machine geometry correction (e.g. gantry perpendicularity). It is more specifically described in the addition „Slave axis configuration example”. In
brief – for each X, Y, Z-axis you can define one slave axis. The slave axes can be A, B and C.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 69
Configuration parameters:
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
Slave axis working mode:
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 „Geometry 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 configuration and any eventual failure or software errors of CSMIO/IP-A controller.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 70
10.9.2 Spindle configuration
CSMIO/IP controller has got many additional functions according to a spindle. The options were divided into following groups:
Spindle DAC
Spindle Encoder
(CSMIO_ENC)
Spindle Alarm Input
Spindle Axis
Selection of analog output for spindle revs control
CSMIO-ENC module configuration
Spindle drive alarm signal input configuration
Spindle operation through axis channel (STEP/DIR) options
10.9.2.1 SpindleDAC – revs control output
Enabled
Enabling revs control on analog 0-10V output
Select Analog Output
Analog output selection
10.9.2.2 Spindle Encoder – spindle encoder module
P/Rev
Pulses number per spindle rev (with all edges)
Inv. Direction
Analog output number selection
10.9.2.3 SpindleAxis – spindle control through a servodrive
EnableSpindleAxis
Function enable
ReversedDirection
Revs direction change
Encoder Input Channel
STEP/DIR output channel selection for spindle operation (it's
important to remember that for “common” axis operation
there are only 5 channels left so it's impossible to use 6 axes)
Enc. ReverseDirection
Encoder counting direction change
DAC Output Channel
Output channel number +/-10V
PID Regulator
PID regulator tuning
Align at stop
Automatic spindle setting in demanded angle always after
turning off. This function is especially useful when spindle
axis, for tool change, must be set in a defined position. „Enabled” activates the function and below you can enter the
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 71
Speed/AccelConfig
angle for spindle setting.
Configuration of pulses per spindle drive motor rev and acceleration. The acceleration value entered here is a time in
which the spindle gets max. revs (defined in Spindle Pulleys).
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 adjusted using two sliders and a main screen. If machine 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.
The following options are available:
Mach
Regulation via PC (slider on a Mach’s screen)
CSMIO/IP AIN 0/1/2/3
Analog inputs of CSMIO/IP controller
MPG AIN 0/1
Analog inputs of CSMIO-MPG module
MPG AXIS 4/5/6
4, 5 or 6 axis of MPG encoder jog (pendant)
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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 72
10.9.4 Plasma – additional functions for plasma cutters
In current software version we have one option available – torch high control via analog
input.
Configuration is only about to enable the function, select polarization, and to select analog
input.
The function, with normal polarization, works
the way that for 0V on analog input there is
correction entered in THC min, and for 10V THC max configured in Mach3 screen. With
reversed polarization – for 0V there is THC
max, and for 10V - THC min.
Enabled
Inversed Polarity
Select input
Function enable/disable
Polarization reverse
Selection of analog input for torch high control
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 Misc IO – Special functions related to I/O
10.9.5.1 Servo drive RESET
Any CSMIO/IP controller output can be assigned as a RESET signal for servo drives. On
the output there will be a short pulse every
time when in Mach3 the RESET function will
be called.
10.9.5.2 HV Enable
In this place you can – for any CSMIO/IP controller output – assign a function of main voltage activation (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.
10.9.5.3 Input signals filter
Sometimes happens that on a large machine tool, electromagnetic noises level is so high that standard hardware limits, mounted in CSMIO/IP are not enough and so there appear false signals e.g.
LIMIT, E-STOP etc., causing machine work brake.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 73
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
quality 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 Other – other plugin functions
10.9.6.1 MPG multipliers
If you use CSMIO-MPG module and an external
jog encoder (pendant) you can switch the multiplier between three values. In this place we
can select what values it will be. Lower range
gives better precision and safeness – because in
this case turning the encoder we won’t speed
up the machine to high speeds.
Higher range will be better for large-size
plotters to move the axes quickly over long distances.
10.9.6.2 AxesDeRef& Zero – axis reset after emergency stop
Parameter used only with CSMIO/IP-S and CSMIO/IP-M. It does not matter with CSMIO/IP-A.
10.9.6.3 E-STOP requests – alarm events
In this place we can disable machine stopping in following situations:
• Digital outputs overload
• CANOpen Timeout
Deselecting this option causes that such situation won’t cause stop of a machine.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 74
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 demanded distance it will only enter the demanded distance
into machine's coordinate.
10.9.6.5 CSMIO Connection Properties – additional connection options
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 selection 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”.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 75
10.10 Selection of inch/mm units
Selection of units by which the axes in „Motor Tuning” are scaled is set in
„ConfigSelect Native Units” menu position. Select unit in the window and close
„OK”. Selection of units for a treatment is done by G20 (inch) and G21 (mm) commands.
10.11 Some parameters in the General Config window
In the „ConfigGeneral Config” menu, you find basic configuration parameters of Mach3. Many of
them don’t need any modifications, but it is worth to change some of them. In the picture below, you
can see a table with the most important parameters and a short description of each one.
Parameter/group
name
ToolChange
AngularProperties
Pgm end or M30 or
Rewind
Motion Mode
IJ Mode
Active
Plane
Movement
of
Description
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.
Checking the box, we select, if A, B, or C axis works as angular. Unchecked box
means that the axis works as linear.
It is about behavior at the end of a program, M30 or REWIND command.
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
slowly. Constant Velocity mode is used in 99% of cases.
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.
Default plane for circular interpolation G2/G3. Usually X-Y for milling machines, X-Z
for lathes.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 76
Jog increments
cycle mode
Home Sw. Safety
In
Ignore M calls while
loading
Look Ahead
Run Macro Pump
Home slave
master axis
with
G04 Dwell in ms
Use watchdogs
CV Control
Rotational
Enchancedpulsing
Screencontrol
Default feed values for stepper work.
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
homing also LIMIT signals aren’t taken into account.
With this option selected so called safe homing is performed, LIMITs are all the time
taken into account, also you can't start homing when an axis is on a HOME sensor.
Macros ignoring („M” commands) from g-code file when loading. This option should
be activated. Without it when file is loading a machine may start performing macros
by itself.
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
motion smoothness even when dynamic and fast programs are made.
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.
The intention of Mach3 authors is an option, which enable/disable slave axis and
master axis homing together. In CSMIO/IP-A controller, a slave axis is always homed
with master axis.
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.
Do not use – this function should theoretically „watch” various modules of the program and in case it should switch an emergency STOP. In practice, it doesn’t work
properly and may cause problems. In CSMIO/IP-A software, there are special algorithms, which autonomously monitor communication and whole control system
work.
Parameters for a Constant Velocity work mode. By default all fields should be unselected. 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.
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.
O
O
So 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.
This parameter does not matter with CSMIO/IP-A.
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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 77
11 PID controller (regulator)
11.1 What is PID controller
As opposed to stepper motors which are,
we can say, controlled "blindly", servo
drives work in so called closed loop, so
when they control a motor they check if
its position is compliant with the set position. If actual rotor position differs from
the expected one, there is a current correction entered to overcome the existing
error. If the motor overtook the position
that was set, it just slows down or speeds
up to catch up if the set position overtook the actual position. It is just like
driving a car we would like to catch up
another car next to us. If it is running away we step on the gas and speed up and if we are too far we
let up on the gas to slow down. What happens if the car we want to align with doesn't make it any
easier and every moment speeds up or slows down, moreover we are already nervous and we overreact stepping on the gas or brake to the limit time and time again? As a result, we will still pass the
chased car, being most of the time far away from it. As a result, we will still pass the chased car, being most of the time far away from it. Translating this analogy to a CNC machine, it would appear that
axes do not follow a set motion path and a lot of machining inaccuracies would arise.
Servo drives require fast and precise correction to the position error. Going back to the cars comparison, 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
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 78
11.2 PID controller terms (parameters) operation
There are like tens of thousands descriptions of PID controller work in the Internet, but for most of
people - putting it mildly - they are rather vague and actually do not say anything. In this section we
present the PID controller blocks described in a few words so you could get the logic of their operation.
11.2.1 The proportional term – P
It is the easiest part of the controller. It makes that correction is greater the larger position error is.
The error is calculated in the following way:
𝑃𝑒𝑟𝑟 = 𝑃 − 𝑃𝑒𝑛𝑐
Where:
P err
: position error
P
: current, set position
P enc
: actual position of an encoder
An output of the proportional term is calculated by the formula:
𝑂𝑈𝑇𝑃 = 𝐾𝑃 ∗ 𝑃𝑒𝑟𝑟
Where:
OUT P
: output of proportional term
Kp
: Proportional gain
P err
: Position error
Lets assume that the set position= 0, Kp = 10 and analyze the situation for a few different actual positions of a motor:
• Motor position = 0: Error is zero, so the ‘P’ term has also zero output so there is no correction (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.
11.2.2 The integral term – I
For some users unfamiliar with mathematics the integral may sounds scary, in fact the term operation is very easy. An output of the integral term of PID controller depends on the position error and
the duration of the error. Lets assume that the Integral eliminated most of the position error, but
there a small error left due to friction e.g. 10 p. of an encoder. With so small error the Proportional
control does not correct too much and its output is not able to overcome the friction. SO the motor
stands and the error remains. Here we have the Integral term ‘I’. To simplify lets assume that the
controller works once per second and Ki (gain) = 1. In this situation ‘I’ output will look like this:
• Time t=0s
: output = 0
• Time t=1s
: output = 10
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 79
•
•
•
Time t=2s
…
Time t=10s
: output = 20
: output = 100
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.
11.2.3 The Derivative term – D
After reading descriptions of ‘P’ and ‘I’ terms we can come to conclusion, that we do not need nothing more. In many situations that is true and very often in practice the derivative gain ‘D’ is set to 0,
what cause it is skipped.
However sometimes there is necessity to add some stabilization element as "sharply" tuned ‘P’ and
‘I’ may cause unwanted vibrations near the set point. Here the derivative term ‘D’ will be helpful
which works as a dumper - prevents sudden, rapid movements. The ‘D’ reacts the stronger the faster
a position error changes. If the error increases fast, the ‘D’ control will strongly react towards ‘-‘. If
the error decreases fast then the ‘D’ control will strongly react towards „+”.
11.2.4 The „sixth” sense – the mysterious KVFF parameter
Where this parameter comes from if we described all the terms of PID controller? Actually it is not
another PID controller term it is rather an element which makes PID controller work easier.
Looking carefully at all the three PID terms descriptions we can see that outputs of each term depend
on a position error. So the controller does not work if the position error is zero. The problem is that
we want the error to be as small as possible, the best if it would be zero because it means the best
accuracy of work we do.
Here we have the K VFF parameter which reacts in advance, before the error occurs. Of course working
in advance base on prediction and prediction is never 100% sure, so some error occur for sure and
PID has got then work to do but in practice well-matched K VFF gain is able to decrease temporary
position errors even up to ten times.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 80
11.3 The actual controller in CSMIO/IP-A
In practice we often use so called: cascade controllers, which correct errors much better on during
dynamic work. The cascade controller is usually just three PID controllers connected in series.
In fact a complete control loop for CSMIO/IP-A and servo amplifier looks as follows:
•
•
•
•
TRAJECTORY
POSITION
VELOCITY
CURRENT
: set motion trajectory
: position PID controller
: velocity PID controller
: current PID controller
All the parameters that usually do not need to be tuned are marked in grey. There is also division
market, 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.
11.4 The order of controllers tuning
We always start the cascade controller tuning from a motor side. We usually get a set: a servo motor
+ a servo amplifier and there is no need to tune a current controller so we tune as follows:
• Velocity PID controller (in a servo amplifier)
• Position PID controller (in CSMIO/IP-A)
• „V FF ” predicting element (in CSMIO/IP-A)
Very common mistake is tuning the PID controller in CSMIO/IP-A when PID controller in servo amplifier is not tuned. In this situation it is impossible to tune the entire system properly.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 81
11.5 „PID Regulator Tuning” window
We tune the controller in a special window. Click on menu „ConfigConfig Plugins” and „CONFIG” at
CSMIO/IP-A. Next select an axis and click “PID Tuning”.
At the beginning short description of parameters and functions available in "PID Regulator tuning".
Manual Tuning Group – manual tuning:
kP
Proportional gain
kI
Integral gain
kD
Derivative gain
kVff
Prediction parameter gain (velocity)
Max I accumulator
Maximal integral accumulator value (by default we can
enter 1000000)
Max following error Maximal permissible position error. If deviation is over this
value ePID fault will be called.
DeadBand
Dead band of regulation. Usually „0”. If there are problems
with axis humming at standstill, try to enter some small
value e.g. 3
DAC Offset
Setting neutral level on +/-10V output, it is voltage at which
a motor stands still. If the parameter is set incorrectly it
will cause knocking during axis activation and may worsen
regulation quality. By clicking the icon next to this value we
can set this parameter automatically.
Setting the actual output voltage as DAC Offset.
Apply
Sending the parameters values to motion controller/servo
drives activation and PIDs activation.
E-STOP
Emergency stop/ drives activation and PIDs deactivation
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 82
MoveAxis Group – automatic travel to position:
Pos (mm or inch)
Target motion position
Speed [%]
Motion speed as % of maximal axis speed
Acc [%]
Motion acceleration as % of maximal axis acceleration
Move to set position mode
Move to set position and back to initial position mode
Constant motion mode: to set position, to initial position,
to set position … etc
Start
Start to move
Autotuning –automatic:
Rigidity
Start
Jog – manual operation:
Feedrate [%]
Setting target rigidity. By default 50%.
Autotuning mode start
Motion speed setting
Move towards Move towards +
Monitor – axis state preview:
On position
Actual error
Max error
Axis position
A diode informs that axis does not make any move and is in
target position.
Actual deviation value from a set position
(encoder pulses number)
Maximal temporary error that occurred
(encoder pulses number)
Actual axis position (mm or inch)
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 83
11.6 Manual PID regulator tuning procedure in CSMIO/IP-A
Reading the description of PID controller in previous section, it is easy to imagine how the particular
elements handle with a position error. But there is a catch. Each of the mentioned elements has a
parameter that regulates its gain. If the gain is set wrongly for the particular element it may not work
properly, will cause vibrations, noise and in extreme cases even breakdown of a mechanic of a machine.
Although proper tuning of a machine is not hard at all, in practice to do it right experience is very
useful. Inexperienced installers who till now worked only with e.g. stepper motor, the tuning procedure may cause many problems. If you do not feel like doing it by yourself it is better to look for help
from someone more experienced.
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).
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 84
•
Enable an axis by clicking „Apply / (RESET)”. If
there are axis oscillations - click E-STOP, and next
enter kP=500, kI = 1. If there is a jerk and a drive
turns off it may mean that encoder counting direction is set incorrectly, try to go to axis configuration and change counting direction. If servo drive
turned on and axis stands still then you can go to
the next step.
•
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.
•
Click on automatic setting button „DAC Offset”
•
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”
parameter in CSMIO/IP-A increases positioning quality, regardless of the regulator used in a servo
amplifier. 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
simultaneously. 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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 85
•
Next we tune the kVff. Again
chose constant motion mode
Short moves are the best because a position error is the largest on u-turns. On the graph
watch a position error (red line)
and increase (by +1) the kVff parameter. The error amplitude will
decrees significantly till some
moment ant then and then increase again. Find the kVff value
with which the error amplitude is
the lowest.
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 permissible 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.
11.7 PID tuning – practical tips
With a little practice the manual PID tuning takes 3 minutes and gives better results than 95% of cases with autotuning use. However sometimes there are some not typical problems which can make
your work harder. Below some examples from "our experience".
11.7.1 Slave axis
In case of a slave axis we should tune both sides „Master” and „Slave” alternately going with the gain
Usually, the best is to have equal gain on „Master” and „Slave” side unless we have different motors
or if there are significant differences in the inertia or friction. If we tune an axis which is a gantry e.g.
of a plotter or gantry mill we should set a spindle in the middle of the gantry to align the inertia during tuning.
11.7.2 An axis with toothed racks (straight toothed).
Toothed racks are not very "liked" by servo drives. Torque fluctuations that come from the toothed
racks cause resonance at some speeds and it is very hard to handle with it. The sharper the PID is the
larger is the resonance, the gentler PID (smaller gain), the smallest resonance but positioning is
worse. We can only help ourselves with kD parameter, which has some damping properties. Depending on a servo drive we use we can try to use digital filters built in, although very often the filters can
also make the positioning worse. If we are going to use the filters then we strongly recommend very
small damping values. It is very important with this drive train system to use proper pulley. We tuned
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 86
machines 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 wellmatched, so designed nominal axis speed results at nominal servo motor revs.
11.7.3 Laud noises at standstill
Quite common feature of servo drives are a bit annoying noises at the moment when motors stands.
There is no a "golden mean" for that but in most of case we can handle with this the following way:
• Slightly gain decrees and kD value increase.
• Digital filter in a servo amplifier (only small damping values)
• DeadBand value set on some small value e.g. 3
11.7.4 Cannot start tuning because an axis does not move.
If a motor does not want to work at all then we have to check a servo amplifier. Disconnect velocity
signal from CSMIO/IP-A and activate an axis. Connect AA (1.5V) battery to wires and the motor
should start to rotate. Change battery polarization and connect again, the motor should rotate in the
other side. If it is not then check control signal from servo amplifier, usually „Enable” is needed for
power amplifier activation, however the signal name may be different, you need to check in documentation. Sometimes servo amplifiers have a separate E-Stop and LIMIT inputs which can block the
operation.
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. Counting direction (look at tuning description),
electrical connections between a motor and a servo amplifier, encoder signal connections between
servo amplifier and CSMIO/IP-A. Sometimes strange effects results from confusion between motor
phases, or HALL signals (if used).
11.7.6 Cannot tune an axis
Sometimes happens that although we spend a lot of time on tuning an axis does not work
properly hums, vibrates when it moves etc. Very often the reason is connection of +/- 10V analog
signal to a servo amplifier. When we have 3 axes and we reverse polarization of analog signal in one
of them there may be a problem with GND (depends on servo amplifier input type) and so strange
effects may occur. Poor quality not-shielded cable may be the reason or wrong electrical installation
(GND loop etc). Of course it may show up that the servo amplifier or motion controller is broken (it is
rare). To know for sure it is worth to plug an axis to other encoder and analog +/- 10V channel. You
can also try to replace servo amplifiers between axes to find where the problem is.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 87
11.8 Autotuning – Automatic PID tuning
The CSMIO/IP-A is equipped with PID controller automatic tuning function, it can be called from PID
tuning window – „ConfigConfigPlugInsCONFIG”  „PID Tuning”.
Before we activate the automatic tuning function axes should be scaled and also acceleration and
max. speed of axes should be set in „ConfigMotor Tuning”.
For autotuning we need to set only one parameter – Rigidity. The highest is the value of the parameter 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 IMPOSSIBLE. 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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 88
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
gradually to 100% watching at the same time if there are no vibrations and what is max. temporary
position 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
depending on motion direction. In this case we should adjust PID controller parameters manually.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 89
12 First tests
12.1 Checking the input signals
Before starting the tests in motion, you should
first verify the main input signals, such as:
• Homing sensors – HOME
• Limit switches – LIMIT
• Emergency stop – ESTOP
After running Mach3, go to „Diagnostics” tab.
In „Input signals current state” area there are
shown light indicators of the input signals.
During the test, any of axes should not be on a
limit switch or homing sensor. You should
manually, sequentially activate the HOME sensors and verify if correct indicators light up. There are
axes at the input signals indicators marked as M1, M2, M3, M4, M5, M6 what corresponds in order
to X, Y, Z, A, B, C. After HOME switches verifying you should check LIMIT switches. Again - manually
activate the LIMITs on each axis and check on a screen, if correct indicators light up. If the light indicators or indicator light up constantly and they turn off after manual LIMIT switch deactivation - it
means wrong polarization – you must change configuration in „Ports and pins” window (see previous
sections).
If on all axes the HOME and LIMIT sensors work fine, it is time to verify an emergency stop signal
(here Emergency) again. After the E-Stop pressing – the indicator should flash red light. When you
release it - it should turn off.
If everything works correctly, press RESET on the screen and go to the next section.
If there is no response for any signals, you should check if program
communicates with the CSMIO/IP-A controller correctly. In the diagnostics window (in „PlugIn ControlCSMIO_IP_Plugin” menu)
you can check the connection status. If the control light is red you
can try to quit and run Mach3 again. If it does not help see again the
sections about configuration and installation.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 90
12.2 Verification of axes scaling and motion directions
First motion control should be made at low speed. After pressing Tab key on a
keyboard – manual feed rate panel should open. In „Slow Jog Rate” enter e.g.
10%. It means that the motion will have 10% of maximum speed, defined in Motor Tuning.
SoftLimit switches should be disabled for these tests. Find the
button on
Mach3 main screen – if there is a green light around it then click this button to
switch it off. If necessary press
on the main screen, Mach3 program will
be in standby mode. There should be green light around the button.
You can control XY-axes by arrow keys on a keyboard, Z-axis by „Page Down”
and „Page Up”. You can also use the buttons from manual feed rate window.
You should check each axis if:
• Motion direction is changing. If not, it may mean incorrect connection of DIR Signal to a drive.
• Directions are not changed. If so, you should change an axis direction in „ConfigHoming/Limits” menu.
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 direction 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 configuration and verify your settings.
Always approve your settings on Mach screen by pressing ENTER. Otherwise the value will not be
saved.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 91
12.3 HOMING and software limit switches test
12.3.1 First homing
When axes are scaled correctly and motion directions are correct – it is time for first homing. During
normal work most comfortable is to use a button for all axes homing („Ref All Home” on the main
screen). During the tests it is better to home the axes individually from the Mach Diagnostic screen.
On the Diagnostic screen of Mach3 you will see group of buttons for each axis homing. 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 „ConfigHoming/Limits”.
If axes homing is correct
„ConfigHoming/Limits”.
you
can
experiment
with
increasing
homing
speed
in
12.3.2 SoftLimit switches
If axes homing is correct then you can set, switch and check software limit switches. Click on „Jog
Mode” in the manual feed rate panel and set „Cont.”. „Slow Jog Rate” set on e.g. 40%. It is worth to
turn on preview of a machine directions by pressing
on the Mach’s main screen. Then, in manual mode go e.g. with X-axis- on 5mm before hardware switch limit and write down on paper - the X
coordinate from the screen. Repeat this action for all axes.
Open „ConfigHoming/Limits” window and enter correct values into SoftMax and SoftMin. For X
and Y axes it is usually SoftMin=0. You should remember that Z axis usually work in negative direction, so the SoftMax for will be equal to zero, and min. limitation enter in SoftMin.
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 successful 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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 92
12.4 Test of spindle and cooling.
At this stage, almost all major elements of the system were set and a machine is almost ready to
work. One important issue left – spindle test. Treatment with non-rotating spindle is generally not a
good idea.
Mach should be in active mode. The quickest way to test the spindle is MDI mode. In the top bar press MDI. This mode lets you to
enter G-Code commands manually:
• Enter S command, with requested spindle revs e.g.
„S2000” – that is 2000 rpm speed. Approve with <enter>.
• Enter M3 command (right revs) and approve with
<enter>. The spindle should start rotate right with requested speed.
• Enter M5 command (stopping) and approve with <enter>. The spindle should stop.
• Enter M4 command (left revs) and approve with <enter>. The spindle should start rotate
left with requested speed.
• Stop with M5 command.
• Turn on cooling with M7, turn off - M30.
• Turn on cooling M8, turn off - M30.
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. Almost 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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 93
13 Sample treatment step by step
To look closer at rules of using a machine equipped with CSMIO/IP-A
control system – here is an example of a simple work.
An example includes area planning and logo milling in 30.6x30.6x48mm
size cube made of hard aluminum alloy.
Project design and G-Code file generating will be done with popular software - ArtCam®. Logo file has AI format which is very good for data
transmission between different programs.
Assumptions:
• Planned area will be on 0,2mm depth cylindrical cutter with
an 8mm diameter.
• To set a base we will use a roller made of carbide with 6mm diameter, filed on half of
diameter.
• The logo will be milled by engraving cutter 20 degree/0.6mm – on 0,3mm depth.
13.1 Project and G-Code files preparing
We create a new project in ArtCam program. Enter dimension
of the cube. In this example, the resolution is not very important so you can set it low.
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”.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 94
The newly created object with its position and size exactly coincides with the
working 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
Distance 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.
At this stage, our project looks like this:
You can now generate trajectories for tools.
First, a tool path for planning the surface.
Select the object we have created and select Area Clearance
icon from
Toolpath tab.
In Finish Depth box, enter treatment depth - 0.2mm in this case. In toleration area,
enter 0,01mm. As practice shows, it is not worth to overdo with toleration value.
Of course, if you have a high-class mechanics, granite construction, all is thermally
stabilized, and you execute precise jobs – you can set the toleration more detailed.
Safe Z parameter you can set at 5mm, Home Position at [0, 0, 10]. You can also
select „Add Ramping Moves” on default parameters, the result is smoother entry
into the material.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 95
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 obvious. 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
treatment 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
calculated 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
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
format suitable for Mach3 program. When you select the format
pres „Save” and save our trajectory as e.g. „planning.tap”.
icon.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 96
Next, generate tool trajectory for our logo.
Go back to 2D preview, and in the Toolpaths tab panel, next to the last
generated path – deselect Show In 2D|3D. Previous trajectory disappears
so it will not disrupt our view.
Now select our logo and again click the Area Clearance
icon. We enter
the parameters almost the same like before, only the depth is 0.3mm and
we deselect „Add Ramping Moves” – it will not be needed in this case, we
also need to define other tool. We proceed like before. Press Add - below
the tool list - and Add Tool in the tool base window. The parameters in this
case look like this:
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:
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 97
13.2 Preparing machine and Mach3 program
When files are ready, you only need to place and home the
material. First start Mach3 program and reference all the axes
pressing „Ref All Home” button on the main screen.
Place the material securely, to avoid a risk of its shifting or
breaking during the treatment.
As it was mentioned at the beginning –
to set the material base we are going to
use the carbide roller, filed precisely on
half of diameter. If we use tool length
measurement, then enter the tool
number “1” in a „Tool” box in Mach3 program and start the measurement by
pressing „Auto Tool Zero” button.
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
surfaces and the filed roller adhere to each other.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 98
At this point, we can set the material base in X-axis by clicking „Zero X”
button 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 coordinate 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 assume 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
stepper 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
measure 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”.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 99
13.3 We begin the treatment
In Mach program, we select „File/Load G-Code” menu position or we click „Load G-Code” button on
the main screen. Select the file we created earlier: „planing.tap”. When the file is loaded, we can
initially set the machine over the material and enter on the MDI screen.
• G0G53 Z0 <enter>
• G0 X0 Y0 <enter>
The firs command causes the Z axis rises maximum high, the second one is to set the machines tool
XY axes in the defined earlier zero point of the material.
Go to the main screen again and click „Cycle Start” button – the treatment start.
Below a photo taken during the work:
You can change the tool for an engraving cutter and load the second,
previously generated trajectory. Before processing, there is one important 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>".
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 100
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.
Press „Cycle Start” and start the treatment.
The photos below show the work piece during the process, after work and after it is finished with
gentle sanding with emery paper.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 101
14 A few practical notes about Mach3 program and CSMIO/IP-A
Here you can find few tips that can help users unfamiliar with Mach3 program.
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 always 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 responsible 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
„ConfigGeneral Config”. At the beginning you can set the value on 0,5 - it will correspond 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
operations. 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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 102
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 measurement sensor, then after starting Mach program always enter „1” <enter> into the “Tool”. Similarly, when generating the g-code file in CAM program also
always 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 machine. Recommended way to stop the work is pressing pause first („Feed Hold”), and after 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, remember that any manipulation/repositioning or disassembly of HOME switches can cause
machines 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 another 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 computer 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 designing, 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”.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 103
15 VisualBasic® macros
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.
15.1 Automatic tool-length measurement
Automatic tool-length measurement is one of the most implemented function, e.g. because mechanically 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.
The measurement is made through the following stages:
• Raising Z axis at the maximum high (absolute zero)
• Going in a fast mode (G0) at XY sensor position.
• Quick exit (G0) by Z-axis to so-called - safe Z
• Going down in the measurement mode (G31) at "1" speed until signal receiving from the
sensor.
• Raising Z-axis with small value (preparing to more accurate measurement).
• Going down in the measurement mode (G31) at "2"speed, until signal receiving from the
sensor.
• After measurement is finished– raising Z-axis maximally.
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).
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 104
5. In manual feed mode move to the center of the sensor measuring surface. Note XY coordinates.
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, select 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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 105
Parameter
SENS_Z
Details
SENS_X/SENS_Y
MAX_DTRAVEL
[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.
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”.
X and Y position of the sensor in a machine tool working area.
SPD_FAST
SPD_FINE
Z_LIFT
Second precise measurement speed (mm/min).
Z_SAFE
Z_PARK
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
measurement failed. With this parameter, you can protect yourself from a situation
when the measurement was called while the tool was not clamped.
First measurement speed (mm/min).
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-level, on which the axis was set before the measurement and after the measurement
is finished. Usually – “0”.
Macro should be saved in „FileSave” 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
activate protection so the tool will not go below working table area. For both JOG movements and gcode making. This way we protect ourselves against worktable damage.
15.2 Automatic tool change macro
On our website http://www.cs-lab.eu you can find sample macro that supports automatic tool
change (m6Start.m1s). Unfortunately, because of the fact it is more complicated and that very often
spindles from different manufacturers have different information signals logistic – it is often required
to adjust such a macro strictly to a concrete machine tool.
CS-Lab S.C. Company provides also services for launching, configuration and adaptation of control
system to specific requirements.
We also offer complete solutions - the entire control box, launching, configuration and preparation
of the macro for specialized tasks, etc.
If you are interested in our offer - please contact with our office: [email protected] , +48 52 374 74 34.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 106
Addition A – Slave axis configuration example
With bigger machines you often need to use so called – slave axis. It is about that the physical axis of
the machine is powered by two motors.
We implemented in CSMIO/IP-A device the slave axes function with additional option to adjust
geometry of a machine. Geometry regulation is very useful if you want to set perpendicular axes
precisely.
To understand the rule of slave axis configuration we will use a very common example
• XYZ 3 axis plotter
• Transmission of a drive - toothed bars
• X-axis (gantry) controlled by two motors both sides with pulleys.
• Used phrases: master axis (main) and slave axis (slave).
Defining axes used in Mach3 program
In „ConfigPorts and Pins” menu, enable the X, Y and Zaxes. Slave axes are A, B or C. We do not enable the slave
axes here. CSMIO/IP-A controller supports slave axis
autonomously and activating it as a normal axis may cause
conflicts.
Axis scaling and configuration
We assume that the machine is properly configured like it was described in chapter 10. In
„ConfigMotor tuning” menu we only configure the Y-axis (master), slave axis is configured
automatically. It is important that master and slave axes have the same steps number per millimeter, so you cannot use motors with different encoders or different pulleys.
Activation and choice of slave axis
Slave axis function is set in plugin configuration window
–„ConfigConfig PlugIns” menu by clicking on „config”
next to CSMIO-IP position.
In this example the axis that has two drives is X axis and
its assigned slave axis is B axis (A-axis is free, if we
would need a rotary axis in the future).
In „ Slave Axis Configuration” group we choose B as
„Slave”, set the mode for now to „No correction” and
„Geometry Correction” to 0.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 107
LIMIT and HOMING switches
On both – slave and master axes side – there should be separate LIMIT and HOME switches. The
signals should be properly set in Mach3 program („ConfigPorts and Pins”).
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.
Axis direction settings
One of the most important issues is correct setting of movement directions for master and slave axes. In our example drive is transmitted by toothed bars. In this case, usually there is need to change
slave axis direction. We can do it in „ConfigHoming/Limits” by setting „Reversed” at „B” axis. The
direction can be also changed in servo drive.
Manual feed test
When all the steps described above are already done, you can attempt to test the axis working in the
manual feed. A small note: At the beginning, the best is to set very low speed - even 0.5%. You
should first verify whether the motors are working on both sides and whether the feed goes in good
directions.
Automatic reading of HOME switches position difference
Before we activate the mode slave axis with geometry correction, you should know what is position
difference of HOME switches on master (“X”) and slave (“B”) side. Homing with geometry correction
is about that master axis always finishes homing at the moment it goes back off its HOME switch, and
slave axis goes to: [HOME switch back off position - correction]. If we gave zero correction initially
and HOME switches position on both sides differs by e.g. 10 mm - then there would be issues with
gantry during homing.
To avoid this situation there is additional mode created - for HOME switches position difference
measurement.
In plugin configuration window for “X” axis in “Slave Axis Configuration” group enable the „Read
Difference” mode and start homing. After homing is finished, open the plugin configuration window
again and in „Geometry correction” area there should be the value from the measurement.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 108
Geometry correction mode activation
After correct measurement of HOME switches position difference, in the configuration window you
can activate „Sl. correction” mode for „X” axis. Since now on, we can adjust the perpendicularity by
modifying "Geometry correction" value. For perpendicularity measurement, we recommend
Renishaw® Ballbar system.
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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 109
Addition B – –CSMIO/IP-A firmware update
We invite you to visit our website: http://www.cs-lab.eu for CSMIO/IP-A software updates in a
„download” section. The controller updates includes corrections and often enrich the device with
new features so it is worth to update the controller regularly.
How to check your current firmware version
You can check the controller current firmware version
in the diagnostics window from „PlugIn ControlCSMIO_IP_plugin” menu.
The current version is shown on the bottom bar.
Update application (uploader)
After installer download – „setup_CSMIO-IP-A-x.xxx.zip” double click and start setup_CSMIO-IP-Ax.xxx file (x.xxx is a firmware version). Installation process was described in chapter „9.3 – Installation
of CSMIO/IP software”.
At the end of installation leave „Launch CSMIO/IP-A Controller Firmware” option selected and click
„Finish”. The application will be launched automatically, thanks to it we update CSMIO/IP software.
Below you can see the application window and sequence of actions that should be done.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 110
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
Before update – close Mach3 program.
If you install new firmware version but you do not update with uploader application then Mach3
program during start will inform you about incompatibility between versions and communication will
be interrupted.
Plugin file update
Plugin is updated automatically during CSMIO/IP firmware installation.
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.
CS-Lab s.c. –CSMIO/IP-A- CNC controller
Page 111
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement