Document: | MDUROSETTACNCCONTROLSOFTWARE | ||
---|---|---|---|
Description: | RosettaCNC Control SOFTWARE | ||
Link: | https://wiki.rosettacnc.com/en/software/mdurosettacncsoftware | ||
Release documento | Descrizione | Note | Data |
01 | First release | / | 18/05/2021 |
02 | Update | / | 16/01/2022 |
03 | Update | / | 10/11/2022 |
This manual explains the Control Software used by the RosettaCNC Board.
All the implementation details refer to the software version: 1.12.1.
The current version of the Control Software can be identified by opening the Help → About
menu:
The RosettaCNC System is composed of 4 main parts:
The CNC Board, or simply the “Board”, is a complete CNC controller built over a proprietary powerful Industrial Real-Time Operating System called QMOS.
It contains all features to manage independently the Axes Interpolations, the Smoothing Engine, Jerk Control, and RTCP algorithms, the Digitals and Analogs I/O, the Modbus, and EtherCAT Fieldbus, and so on.
The Board communicates with the other parts of the system using a fast and secure multi-port ETH connection.
The Control Software is a powerful UI Environment, for Windows OS used to manage and program the Board.
Through the Control Software, you can load and create the G-Code programs, configure and monitor the Board, and simulate/analyze a program with virtual machines before running it with the Board.
To meet the requirements of Industry 4.0 a dedicated plugin for RosettaCNC has been developed.
With this plugin your CNC can:
Using the OPC-UA protocol almost all CNC data can be read from a standard OPC-UA client.
Command | Spindle OVR | Fast OVR | Feed OVR | Feed OVR Custom 1 | Feed OVR Custom 2 |
---|---|---|---|---|---|
M48 | ON | ON | ON | off | off |
M49 | off | off | off | off | off |
M50 | unchanged | ON | ON | off | off |
M50 P0 | unchanged | off | off | off | off |
M50 P1 | unchanged | ON | ON | off | off |
M50 P2 | unchanged | off | off | ON | off |
M50 P3 | unchanged | off | off | off | ON |
M51 | ON | unchanged | unchanged | unchanged | unchanged |
M51 P0 | off | unchanged | unchanged | unchanged | unchanged |
M51 P1 | ON | unchanged | unchanged | unchanged | unchanged |
The active CNC Board state is always visible in the status bar of the Control Software as marked in the red rectangle.
The CNC Board can be in one of the following internal states:
ALARM
state.
Reset Alamars
.
CTRL+F11
in the Control Software.
Withdraw/Retract Tool at Stop Settings
parameters defined in the Board Settings
(See Description).
IDLE
state.
TAKE CARE: If the CNC has not searched for the reference point (homing), the CNC will not carry out the Withdraw/Retract Tool procedure.
Control Software has two extra states depending on the connection state with the CNC Board or the state of the Simulator:
Program Settings panel permits to sets the Control Software behavior.
The following images represent the settings captured from the default machine just as after a clean installation and are only for samples.
Metric (mm)
and Imperial (in)
.
G20
or G21
and can be different than UI.
G20
and G21
commands can be freely mixed but UI representation will be fixed to this setting.
Help → Check for Updates
.
File → Open File…
dialog or pressing the F12
key.
%APPDATA%
, to reach the user application data folder).
Left/Right
keys), Y-Axis (Up/Down
keys), and Z-Axis (Page Up/Page Down
keys).
F1
key one or two times till the blue focus rectangle is shown.
Jog Space
field is checked, with Auto Disable Jog Space Mode
active, at end of the movement the Jog Space
field will be automatically disabled.
CTLR
key pressed a fast key/left-mouse click is done in the desired axis movement.
CTRL
key is pressed a fast click, below 500 ms of duration, moves the selected axis of programmed distance.
CTRL
key is pressed a long long click, over 500 ms of duration, executes a normal Jog axis movement but with an initial delay of 500 ms required to detect if in the fixed distance mode.
Dynamic Offsets permit to add positive/negative offset to X/Y/Z-Axis during CNC working using the related floating panel.
A change of Dynamic Offsets is possible only with CNC in RUN
State and in a range of +3/-3mm.
Don't use Dynamic Offsets during RTCP enabled movements (G43.4
or G43.7
).
G0
command will be performed.
G1
command will be performed.
G10 L100 P5800 V<value>
command is possible to specify a different value from the default (#5800 = 0 → G0
; #5800 = 1 → G1
).
G41
/G41.1
and G42
/G42.1
commands.
G41
/G41.1
or G42
/G42.1
commands when Cutter Compensation Option
is set to Normal
.
Measure / Pulses
).
WHILE
commands.
WHILE
expression is satisfied or the user press the ESC
key to abort the current compilation.
WHILE
expression is satisfied or the user press the ESC
key to abort the current compilation or the n-value
loops are reached.
#1=[#1+1]
) so the loop with Infinite Loop Threshold = 0 will continue to infinite.
/
) at the beginning of the line.
/
will be disabled and not executed.
G43
compensation is persistent in CNC Board at end of a G-Code Program/Macro/MDI execution.
G52
is independent between changes of active WCS in a G-Code Program/Macro/MDI execution.
G92
offsets are persistent in the CNC Board at end of a G-Code Program/Macro/MDI execution.
G54/G55/G56/G57/G58/G59.1/G59.2/G59.3
commands will be kept.
G54/G55/G56/G57/G58/G59.1/G59.2/G59.3
commands will be lost and WCS 1 (G54
) is applied.
The changes to any WCS origin offset values made with the G10 L2 Pp Xx Yy Zz Aa Bb Cc
command are not affected by this parameter.
M201 A10 J-1.3
.
%APPDATA%\RosettaCNC-1-\<machine>\macros
.
File → Open Macro Folder
” menu.
G
& M
commands, provide well-defined CNC functions such as tool change, or subroutines that can be called up by number/name using the M98/G65/G66/CALL
commands.
/
, eg: G65 P“/square_pocket.ngc” W100. H100. Z-40. R-5. T2
.
The System Macro restart.ngc
manages all the activities necessary to START machining from a specific program line or to RESUME machining stopped with a STOP command from the last executed line or from one of your choice.
However, when the macro is not available, a series of minimal operations are performed.
The following parameters allow you to configure these operations.
G1
command (feed movement).
G0
command (fast movement).
PS: This is a very poor way to manage a START/RESTART from a line. The use of the restart.ngc
macro is the right way to get better management of that.
PS: The Default
item means “Use current computer default language, if present in the list, otherwise use the English language”.
Through the API Server, the Control Software exports a part of its API which can be used with external client applications.
The API server is a TCP/IP Server listening on localhost with a communication protocol based on JSON Request/Response packets.
The API Server, if enabled, will be activated automatically when the Control Software is started.
If, when starting the Control Software, the API Server Listening Port is found to be already in use, the following dialog will be displayed:
PS: The changes to the API Server will take effect the next time the Software Control is started.
This panel displays all the Network Adapters for the Internet Protocol version 4 that can be reached by the Control Software.
For each adapter in the list, the IP address, the NET MASK and the NET NAME are available.
Default and None are similar but not the same.
Default does not touch the settings related to sample buffers of the OpenGL context from what defined in GPU Windows Settings.
None disables WGL_SAMPLE_BUFFERS_ARB and therefore the Anti-Aliasing management completely.
MSAA stays for Multi Sampled Antialiasing.
CSAA stays for Coverage Sampled Antialiasing.
Coverage Sampled Antialiasing (CSAA) is supported by NVIDIA cards (CSAA Tutorial)
customize
path is not available the background.png
background image.
customize
path is available the background.png
image the system will use the image instead of background color.
Through this panel and related sheets, it is possible to set the visibility of buttons in the top toolbar.
Through this panel, it is possible to set the visibility of some button in the left toolbar, also know as Machine Toolbar
.
Show Jog Controls
button.
Jog Controls
panel can be yet shown/hidden pressing the F1
key or using the related main menu item.
Main View
, showing or hiding the Jog Controls
panel will automatically switch the view to Main View
.
Show MDI Commands
button.
MDI Commands
panel can be yet shown/hidden pressing the F4
key or using the related main menu item.
Main View
, showing or hiding the MDI Controls
panel will automatically switch the view to Main View
.
Through this panel, it is possible to restrict write access or disable access to some settings menus by binding everything to a password.
The system allows three access levels: L1, L2, and L3.
Level 1 is linked to the operations carried out by the machine operator.
This level does not have an associated password as it is active by default when the Control Software is started.
Level 2 could be associated with the maintenance technician of the machine who periodically may need to intervene in some aspects of the same.
Level 3 is usually the level associated with the manufacturer who is the only one who can intervene on delicate parts such as axis settings, or the firmware and software update functions.
Through this panel and related sheets, it is possible to define the custom descriptions for user inputs/outputs and analog inputs/outputs.
For the custom descriptions, only chars from the ANSI chars set are usable.
Every language supported by Control Software will have its messages so if the English language is active the showed/entered messages in the grid will be for English.
To Enter the descriptions for a different language select what in the Language
panel then enter related text in the grid.
All messages are stored in the external file rosettacnc.ini
, of the current machine
, and they could be also edited with an external editor in the ANSI char format.
The custom descriptions will be used and shown in the Board Monitor
panel reachable with the menu Setup→Board Monitor..
when the Control Software is connected with a CNC Board:
The Board Monitor is enabled to permits direct editing of the description fields in the currently active language.
This sheet permits editing of the user inputs custom descriptions.
The field Nr
corresponds to the user input number (eg: 1 = user input 1).
The field Description
will contain the custom description text in the currently active language.
Some of the following CNC Board Settings are also accessible in the G-Code programming language via the corresponding read-only Named Parameters.
When available, the Named Parameter will be visible next to the parameter description, e.g.:
#<cnc.machine_type>
]
All CNC Board Settings, and related named parameters, will be exclusively in the Metric Measurement System.
The General panel contains the generic CNC settings.
IDLE
/ALARM
state).
WAIT MAIN POWER
.
WAIT MAIN POWER
is necessary to have assigned a digital input to the feature Main Power Input on the Inputs sheet.
PAUSE
state.
ALARM
state.
IDLE
state.
Withdraw/Retract Tool
procedure.
Mode
field is possible to define what type of Withdraw/Retract Tool action will be done:
STOP
request no Withdraw/Retract action is executed, and the CNC job stops immediately.
STOP
request the Z-axis moves UP of space defined in the Distance
field.
Distance
will be limited to Z-axis Max Limit
value.
STOP
request the tool will be extracted following the tool direction vector of measure defined in the Distance
field.
Distance
will be limited to axes Max Limit
values.
The Axes panel contains the CNC Board settings for movement axes.
The panel is subdivided into a variable number of sheets that vary according to what is set in the parameters Machine Type, Kinematics Model, and Axis Type.
Before beginning to set the axes parameters it is necessary to define the machine configuration.
In this sheet are collected all main settings required to do that.
#<cnc.machine_type>
]#<cnc.kinematics_model>
]Free Rotary Axis
will not be rendered in toolpath graphic and uses as a linear axis with degrees as um.
Rotary Axis for Table
will concur to toolpath graphic representation according to Kinematics
sheet settings.
#<cnc.x.type>
..#<cnc.w.type>
]#<axis.type.disabled>
]
#<axis.type.linear>
]
#<axis.type.rotary_free>
]
#<axis.type.rotary_head>
]
#<axis.type.rotary_table>
]
#<axis.type.gantry_1>
]
#<axis.type.gantry_2>
]
Follow description of Axes Types available with Kinematics of Mill (Mill/Turn) Machine Type:
Mill Kinematics Type | Axes Types |
---|---|
Trivial |
|
Independent Rotational Axes |
|
Rotary Table AC |
|
Rotary Table BC |
|
Tilting Spindle AC |
|
#<cnc.x.min_lim>
) but are available for every axis from X to W, just change the axis letter.
#<cnc.x.max_vel>
]G00
).
#<cnc.x.acc>
]Override Mode
is set to Speed and Space
.
G104
command is possible to define a different acceleration/deceleration value for the interpolated point.
#<cnc.x.min_lim>
]#<cnc.x.max_lim>
]Max Frequency
value.
Homing: Offset
value.
Homing: Direction
at Homing: Velocity
feed until the axis meets the Homing sensor.
Velocity Divider
.
Homing: Offset
value will be loaded into the axis machine position.
Homing: Final Position
.
Homing: Index Input
is not permitted.
Homing: Offset
value.
Homing: Final Position
.
Sequence
= 1 will be referenced.
Sequence
= 2 and so on till Sequence
= 6.
S18000 M03
S9000 M03
S30000 M03
M03/M04/M05
commands.
At Speed Input
or Zero Speed Input
the following behaviors table is applied:
Spindle State | At Speed Input | Zero Speed Input | Description |
---|---|---|---|
From M05 to M03 /M04 | NO | Spindle Start Time is used to wait for spindle speed settle. |
|
From M05 to M03 /M04 | YES | At Speed Input is used to wait for spindle speed settle. |
|
From ON to OFF (M05 ) | NO | Spindle Start Time is used to wait for spindle speed settle. |
|
From ON to OFF (M05 ) | YES | Zero Speed Input is used to wait for spindle speed settle. |
|
Switch from M03 or M04 or M04 to M03 |
IDLE
state.
Spindle Stop Input
is not defined.
IDLE
state.
S1..S5
output signals you can enable the CNC Board Spindle Control Signals Check management.
M05
) or during tool change in G-Code inner a M107
to M108
block.
S1
and S2
are mandatory.
S4
or S5
is not available, so these checks are optional, and related S4
/S5
fields must be set to None
.
Status modes of the spindle and corresponding outputs:
STATE | S1 | S2 | S5 | ACTION |
---|---|---|---|---|
Tool-Holder blocked correctly | ON | OFF | ON | It is allowed machining. |
Collect closed but tool-holder absent | OFF | OFF | ON | The Tool-holder is not engaged correctly. It is not allowed machining. The electrospindle cannot run. |
Collect open | OFF | ON | OFF | The tool-holder is released. |
Starting from firmware 1.58 Spindle Feedback is available. Spindle speed can be read back by a digital sensor (Tachometer) or Analog input.
Program Settings→ DRO View → Spindle 1/2 → Target Speed
To show spindle feedback data in control software please visit Program Settings→ DRO View
panel.
Actually, there is no check on spindle feedback to generate alarms or warnings.
This panel is the same for Jog/Spindle/Fast/Feed/Feed Custom 1/Feed Custom 2 features.
The overrides are active depending by M48
/M49
/M50
/M51
commands following this table:
Command | Spindle | Fast | Feed | Feed Custom 1 | Feed Custom 2 |
---|---|---|---|---|---|
M48 | ON | ON | ON | off | off |
M49 | off | off | off | off | off |
M50 | unchanged | ON | ON | off | off |
M50 P0 | unchanged | off | off | off | off |
M50 P1 | unchanged | ON | ON | off | off |
M50 P2 | unchanged | off | off | ON | off |
M50 P3 | unchanged | off | off | off | ON |
M51 | ON | unchanged | unchanged | unchanged | unchanged |
M51 P0 | off | unchanged | unchanged | unchanged | unchanged |
M51 P1 | ON | unchanged | unchanged | unchanged | unchanged |
Jog Controller Type
parameter is set to Handwheel A
, the Handwheel Enable Button can be used to set to zero the program position of the selected axis.
IDLE
state.
Jog Controller Zero Time
parameter.
Enable Jog Controller Zero
procedure.
RUN
state.
RUN
state when User Input will be deactivated.
IDLE
to PAUSE
state.
M62 P<aux_number>
(Turn AUX Output ON) and M63 P<aux_number>
(Turn AUX Output OFF).
M62 P3
will put ON the User Output 1.
ON
when a connection between PC Control Software and CNC is established.
ON
for a timeout time of 4 seconds during that buffered program will continue to work.
ON
during a tool change procedure invoked with a M06
command.
M6
is called, the macro tool_change.ngc
, with tool change program code, is executed.
M107
will inform the PLC the BEGIN of tool change procedure and the specified user output will be ON
.
M108
will inform the PLC the END of tool change procedure and the specified user output will be OFF
.
Homing Done
the specified user output will be ON
.
ALARM
state the specified user output will be OFF
(if CNC is controlling stepper motor).
ON
when the CNC is in the WAIT for MAIN POWER
state.
ON
when the CNC is in the RUN
state.
ON
when the CNC is in PAUSE
state.
ON
when the CNC is in ALARM
state.
ON
when the CNC isn't in ALARM
state.
ON
for 2 seconds when the user resets the Alarms and the CNC exits from the ALARM
state.
ON
when a G-Code program is loaded and ready to be started.
End Work State
will be switched ON only after that End Work State [ Output Time ]
has elapsed with the CNC Board in the SM_IDLE
state.
End Work State
will be turned ON.
M07
/M09
commands.
Settings→Program Settings→Top Toolbar
the fields Mist Visible
and Mist Enabled
are checked when the CNC Board is in IDLE
state the output state can be changed also using related Top Toolbar buttons.
#5153
(M7, M9).
M08
/M09
commands.
Settings→Program Settings→Top Toolbar
the fields Flood Visible
and Flood Enabled
are checked when the CNC Board is in IDLE
state the output state can be changed also using related Top Toolbar buttons.
#5154
(M8, M9).
The CNC Board implements also two feedback inputs to control the Pressure/Flow switches signals from Mist & Flood Cooling Systems.
These inputs are optional and when correctly programmed become active during a M07/M08
command or related features in Top Toolbar.
The feedback control operates on M07
/M08
/M09
commands also if they don't have an assigned user output.
M07
is executed this is the time in which the Mist feedback signal is inhibited to permit the Mist Cooling System to reach the right pressure.
Mist Input
start a watchdog timer.
Mist Input
start a watchdog timer.
ALARM
state and an error message is showed in the Control Software.
M08
is executed this is the time in which the Flood feedback signal is inhibited to permit the Flood Cooling System to reach the right pressure.
Flood Input
start a watchdog timer.
Flood Input
start a watchdog timer.
ALARM
state and an error message is showed in the Control Software.
M06
command between:
M06
command is found by the CNC Board none tool change procedure will be executed and the command will be ignored.
T0
, the tool geometry and graphic toolpath color will use the default values.
G43
/G43.1
/G43.2
/G43.4
/G43.7
) is correctly managed but requires H<tool_number>
argument to work, otherwise for default will be H0
.
M06
command is found by the CNC board the tool_change.ngc
macro will be executed.
T<tool_number>
command.
G43
/G43.1
/G43.2
/G43.4
/G43.7
) is correctly managed and H<tool_number>
argument is optional.
tool_change.ngc
.
Tool Change Type
set to Macro
/PLC
.
Tools Library
.
T1
, Tool ID 99 = T99
.
%APPDATA%\RosettaCNC-1\machines\<your_machine_name>\macros\tool_change.ngc
.
File → Open Macros Folder
.
Xxx… (breve descrizione sulle possibilità plasma della CNC).
M17
or M18
command is executed in the G-code, the following alarm will appear:
M17
) the CNC Board continuously monitors the signal and if it indicates a collision, the machining is immediately stopped and the alarm would appear:
Acceleration Time
programmed value.
Acceleration Time
programmed value.
M17
) the Z-Axis movements are demanded to THC which ask, in this way, to CNC Board to move UP the Z-Axis.
M17
) the Z-Axis movements are demanded to THC which ask, in this way, to CNC Board to move DOWN the Z-Axis.
This panel allows you to define Custom Alarms and Warnings associated with a digital User Input.
Each Alarm or Warning can be configured to be issued at a specific level between the Type
and Mode
fields.
The texts of Alarms and Warnings, displayed when triggered, must be entered in the panel Setup → Program Settings… → Custom Alarms
.
RUN
state.
CHANGE TOOL
state.
RUN
state.
CHANGE TOOL
state.
The CNC Board is equipped with a Modbus® Slave TCP/IP for exchanging information with devices such as a PC/PLC/etc.
This function is interesting for implementing machine logic within the PLC or other device that implements a Modbus® TCP/IP Client.
Modbus messaging on TPC/IP implementation guide is available at this LINK
More information about the registers published by the Modbus® Slave is available in RosettaCNC plugin Modbus
The grid allows you to define PLC Parameters used to customize some default settings of the CNC Board Firmware.
For example, the filtering time of analog inputs, or their scaling value, can be changed when these are used for special purposes.
All values are in Floating-Point even when Boolean or Integer values are to be expressed.
In order to avoid undesirable effects, do not change the default values except under the supervision of one of our technicians.
An important added value to the Control Software is the embedded G-Code Editor.
The G-Code editor is available in many places:
Main View
, on the right side of the Control Software UI.
G-Code Editor
View, on the main area of the Control Software UI.
MDI Commands
floating stack panel.
Board Settings…→Tool Change
panel.
Functions→Macros Management
panel.
Through the G-Code editor you can:
MDI Commands
float stack panel.
tool_change
macro in the Tool Change
panel.
Macros Management
panel (only not encrypted macros).
The Control Software G-Code editor is a powerful editor tool with advanced features and functions embedded in it:
An important added value to Control Software is the Virtual Machine.
A Virtual Machine is a graphical representation of a real CNC machine managed by Control Software which permits to:
Follow an example of a 5-Axis Virtual Machine available after Control Software installation:
Through the Virtual Machine Editor, it is possible to edit and modify the Virtual Machine of the current machine.
To show the Virtual Machine Editor use the main menu View → Show Virtual Machine Editor
:
A Virtual Machine is composed of the following elements:
To simplify the Virtual Machine creation we have used a fixed structure of parts that can represent any Kinematics.
The Virtual Machine automatically adapts its graphical representation depending on CNC Board Kinematics Model
parameter, without the need to change the structure of its parts.
For example, in the case of a Trivial
Kinematics, the parts Master and Slave should be left empty because are useless for it following this rules:
Kinematics Model | Part Meaning |
---|---|
Trivial Independent Rotational Axes |
|
Rotary Table A/C |
|
Rotary Table B/C |
|
Tilting Spindle A/C |
|
Part types have custom properties that permit them to tailor the Virtual Machine behavior and interaction with the machine kinematics.
Follow the description of properties for each Part type.
Each CNC machine can have a virtual machine that represents it physically.
In the machine folder, where are also available customize
, macros
, media
, etc folders there is the vm
folder.
All files required by a Virtual machine are in the VM
folder.
The vm
folder of current machine, eg: Quaser-MF630 of installation package, is reachable at:
%appdata%\RosettaCNC-1\machines\Quaser-MF630\vm
:
A Virtual Machine is composed of a machine description file (VM.XML
) plus an arbitrary number of mesh files (.STL
) which define 3D parts of it.
The VM.XML file will contain the machine description and is in encrypted form.
The .STL files could be either in ASCII or BINARY format, but BINARY is the right choice for performances and compatibility.
Home search is the procedure to synchronize the machine reference system.
This operation must be carried out when the CNC loses the machine position (e.g. by turning the machine off or if an emergency occurs).
Home Search may be done in three ways:
Homing
:
G102
directly in a G-Code program/macro/MDI.
Start Axes Homing Input
parameter of Homing
sheet from the menu Setup → Board Settings… → Inputs
.
In order to perform the Home Search procedure, the machine manufacturer has set particular points of the machine: the Machine Zero and the Machine Reference Point.
Homing: Offset
. Homing: Offset
is the difference between machine zero and the machine reference point.
Each axis can be configured to have a specific home search mode, speed, and acceleration.
The Board setting parameter Homing: Mode
in the Axes tab specifies the homing mode:
Homing: Offset
value. Homing: Direction
) until the axis meets the Homing sensor (Speed is set by Board Setting parameter Homing: Velocity
), then reverse direction, decrease velocity by a factor defined by Board Setting general parameter Velocity Divider
and when Homing sensor escapes Homing: Offset
value will be load into axis machine position. Finally, the axis is moved to Homing: Final Position
.Homing: Index Input
is set, the Homing search procedure uses also the Index Input to archive more precision. Homing: Index Input
is not permitted. Servodrive position
minus board setting parameter Homing: Offset
.
Homing: Final Position
.
Homing: Direction
) until the axis meets the Homing sensor (Speed is set by Board Setting parameter Homing: Velocity
), then a digital output is activated (selected by Board Setting parameter Homing: Pushing output
) generally used to reduce the current in the stepper motor. The axes start a movement of Homing: Pushing Position
value in the same direction to meet a mechanical lock. After that, the digital output will reset and the axis reverse direction to meet the homing sensor again as for Falling Edge mode. This mode is used when the axis step dir signals move two motors drive. The pushing movement is used to align the two axes thanks to the mechanical lock. Homing: Index Input
is not permitted.
When a Home Search is started for All axes it is possible to define the order of axis execution.
Each axis has a Board setting parameter Homing: Sequence
. Possible values are from 1 to 6.
Initially, the Home Search the Home Search is started for all axes set to Sequence 1, after axes with Sequence 2, and so on up to Sequence 6.
For a simple three-axis mill machine a typical set is Z-axis with sequence 1 and X and Y axes with sequence 2.
For every axis, it is possible to define the acceleration and the deceleration value during Home Search (see Homing: Acceleration
and Homing Deceleration
).
Please note that deceleration is important if the machine reference position is closed to a mechanical lock.
When the axis is searching the Homing Sensor at Homing: Velocity
, it will travel an extra space due to deceleration.
During this space, the axis must not meet the limit switch or the mechanical block.
To help this check the Board settings panel in RosettaCNC software calculate the Homing: Deceleration Space
according to deceleration and velocity.
Please check that axis have this space between the machine reference point and limit switch (or the mechanical block).
To save machine cost and electrical complexity it is possible to share the same sensor for the Home Search procedure and for the axis Limit Switch.
To enable this share check the appropriate settings in Board Setting Inputs as shown in the following image:
In this way when a Home Search procedure is active the Homing input acts as Homing Sensor, in other cases the Homing input is the limit switch.
Please take care that if you share the sensor it is necessary to set the Homing: Final Position
different from Homing: Offset
to avoid that at the end of the home search the sensor will not yet active and causes a LIMIT Alarm.
It is possible to use a button with a lamp to add to the CNC console the possibility to start Home Search procedure and show the Homing Done status.
To do this:
Start Axes Homing Input
according to the user input number.
Axes Homing Done
according to the user output number.
When the Home Search procedure for an axis ends, the CNC Board calculates the correction that the procedure has made to the machine position.
This value is displayed in the panel Setup → Board Monitor… → Home Corrections Space
The calculated value can be useful in two cases:
If the Home Search procedure has not been performed, dangerous conditions could occur.
In this case, the machine axis positions are not synchronized and the software limits cannot be applied.
The Allowed Commands without Homing Done
, in the menu Setup → Board Settings → General
panel, defines the CNC Board behavior in case of Home Search not executed.
Possible parameter options are:
If the CNC Board is controlling an axis with a Stepper Motor, when an ALARM occurs, the Axis Homing Search Done status will be reset.
The axis position, in the Control Software UI, will appear red-colored to indicate that the machine position could be not synchronized.
In some CNC configurations, it is never necessary to start a Home Search procedure on a single axis.
In these cases, the Homing button on the status bar can be configured to have the Home All
axes function only.
To do this set the field Homing Button Type
to Homing of all Axes
in the menu Setup → Program Settings.. → ToolBar → Geneal
sheet.
A Gantry axis is a pair of axes that, due to the way the machine is built, must move at the same time and in synchronism.
At the CNC, only the movements of one of the axes must be programmed (the master or main gantry axis).
The other axis (slave gantry axis) is not programmable.
The CNC can manage a maximum of two gantry units. In the following description, reference is made only to gantry 1.
Now we discuss and show the homing search solutions in case of Gantry axis configuration.
Please note that in a gantry configuration during the Home Search it is also necessary to perform a movement to realign the axis, so that the two motors have a position that makes the axis movement without geometric errors.
There are three gantry axis configurations:
Pushing Switch Rising Edge
mode for details.
This is a very simple configuration.
If stepper drivers support the motor current reduction by digital input, connect a RosettaCNC digital output as described in Pushing Switch Rising Edge mode.
Please note that steps for one motor revolution must be the same for the two motors.
Finally, make sure that the fault signals of the two drives are connected to the CNC.
We call one axis master gantry and another slave gantry.
When the Home search procedure is started, both motors move and the axis uses the home sensor of the master gantry.
Then the external switches are activated and only the “slave gantry” motor moves and performs its home search using its home sensor.
To do this we need two external commutators connected to one RosettaCNC User Output. A commutator when activated interrupts the signals to the master gantry stepper drive.
The second switch is a diverter and when activated the signal of the slave gantry home switch is connected to the CNC (when it is deactivated the home sensor of the master gantry is connected to the CNC).
For the configuration:
Y
sheet from the menu Setup → Board Settings… → Axes
) as usual.
Gantry 1
sheet from the menu Setup → Board Settings… → Gantries
Mode
to Use only master motor control
Master Axis
to the master gantry (for example Y
)
Homing: Mode
to Master held during alignment
Homing: Digital Output
to the User Output connected with commutators
Homing: Max Disalignment
to the maximum space that the gantry axis can be misaligned.
Homing: Switch Compensation
to zero value initially. Then if the geometry of the gantry has errors it is possible to make a small correction by modifying this value instead of moving the position of the homing sensor.
Max Disalignment
not used in case of Use only master motor control
mode.
Please note that:
We call one axis master gantry and another slave gantry.
No the external commutator is needed. Every axis has its home sensor.
For the configuration:
Y
sheet from the menu Setup → Board Settings… → Axes
) as usual.
A
sheet from the menu Setup → Board Settings… → Axes
) as usual.
A
) as Slave Axis of Gantry 1
in Machine
sheet from the menu Setup → Board Settings… → General
).
Gantry 1
sheet from the menu Setup → Board Settings… → Gantries
Mode
to Use slave motor control
Master Axis
to the master gantry (for example Y
)
Homing: Mode
to Master held during alignment
Homing: Digital Output
nor used in this case but it can be configured.
Homing: Max Disalignment
to the maximum space that the gantry axis can be misaligned.
Homing: Switch Compensation
to zero value initially. Then if the geometry of the gantry has errors it is possible to make a small correction by modifying this value instead of moving the position of the homing sensor.
Max Disalignment
used only in case of EtherCAT control.
A Tool Change procedure will be started every time that the M06
command is found and executed by CNC Board.
The Tool Change procedure will execute the external macro ( <machine>\macros\tool_change.ngc
) to do all required actions.
After the Control Software installation, a default tool_change.ngc
macro is already available to supports most commons scenarios.
Is however possible to use a Text editor, or the Board Settings… → Tool Change → Macro
editor, to modify the tool_change.ngc
macro, and fit it to any CNC particular needs.
The activity carried out by the CNC Board when executing a M06
command depends on the settings in the Setup → Board Settings… → Tool Change
panel:
In the panel there are 4 fields:
M06
command between:
M06
command is found by the CNC Board none tool change procedure will be executed and the command will be ignored.
T0
, the tool geometry and graphic toolpath color will use the default values.
G43
/G43.1
/G43.2
/G43.4
/G43.7
) is correctly managed but requires H<tool_number>
argument to work, otherwise for default will be H0
.
M06
command is found by the CNC board the tool_change.ngc
macro will be executed.
T<tool_number>
command.
G43
/G43.1
/G43.2
/G43.4
/G43.7
) is correctly managed and H<tool_number>
argument is optional.
tool_change.ngc
.
Tool Change Type
set to Macro
/PLC
.
Tools Library
.
T1
, Tool ID 99 = T99
.
%APPDATA%\RosettaCNC-1\machines\<your_machine_name>\macros\tool_change.ngc
.
File → Open Macros Folder
.
Per poter usare un utensile nel programma questo deve essere presente nella libreria utensili:
Tramite la libreria utensili è possibile assegnare le caratteristiche ad ogni utensile come: Tipo di utensile, diametro, lunghezza, offsets, etc. Ogni tipo di utensile ha impostazioni specifiche. Il parametro lunghezza, oltre che per la mera rappresentazione grafica, è indispensabile in caso di compensazione altezza utensile con le istruzioni:
Nella libreria possono essere messi tutti gli utensili a disposizione mentre i campi Tool ID (ID utensile) e Slot ID possono essere variati a piacere per rappresentare la configurazione della lavorazione e quindi assegnare
l'ID utensile usato nel programma a un utensile nella libreria. Con il tasto destro del mouse compare un menu che permette di disabilitare tutti i Tool ID o Slot ID in un colpo solo e facilitare l'operazione della
riassegnazione degli ID.
La libreria utensili permette operazioni di Importazione / Esportazione per facilitare il salvataggio e recupero di una configurazione legata ad una lavorazione che potrebbe essere rieseguita molte volte nel tempo.
Al momento dell'installazione, nella cartella macros della macchina di default RosettaCNC
%HOMEPATH%/Documents/RosettaCNC-1/machine/RosettaCNC/macros/
è già presente il file tool_change.ngc con un esempio di macro per il cambio utensile di tipo manuale.
Questa macro è stata creata per supportare l'utente della CNC nelle configurazioni di cambio utensile manuale più comuni ma può essere modificata ed ampliata dall'utente stesso per meglio adattarsi alle proprie esigenze.
Inoltre per aumentare la flessibilità la macro può essere configurata nel comportamento tramite l'utilizzo dei parametri “Protected Variables” presenti nella “Libreria parametri” pannello “Protected”:
Il parametro 6000 definisce il comportamento del cambio utensile. Al momento è definito solo il comportamento per il valore zero. Nel capitolo successivo è illustrata questa implementazione.
Con questo tipo di cambio utensile si ottiene la misurazione automatica della lunghezza utensile in uso.
Esso si applica sia nel caso di mandrini porta utensili a pinza fissa che con mandrini con cono in qui non si voglia gestire la fase di PRE-SETTINGS.
Dato che, durante la procedura di cambio, la “Lunghezza” utensile viene automaticamente misurata il relativo campo nella tabella utensili ha solo funzione grafica.
Un esempio di mandrino a pinza fissa è illustrato nella seguente figura:
Per la misurazione della lunghezza utensile è necessario avere un sensore di acquisizione (TOOL LENGTH PROBE) a posizione meccanica nota.
Un esempio di sensore è illustrato nella seguente figura:
Il compilatore del codice G richiede che in libreria utensili vi siano tutti gli utensili usati da un programma.
L'uso di questa macro, in ogni caso, permette di poter trascurare il campo Lunghezza in quanto tale valore verrà calcolato in automatico dalla macro stessa.
Vediamo in dettaglio la sequenza di utilizzo di questo cambio utensile.
Si suppone per semplicità che il G-Code da eseguire sia generato con zero sulla sommità pezzo.
Tn M6
la macro va a misurare la lunghezza dell'utensile corrente.Tn M6
la procedura va a rimisurare la lunghezza dell'utensile corrente e ripete le operazioni del punto 5 fino a fine programma.
Alcune note importanti:
G43/G43.1/G43.2/G45/G47
“ o di annullamento della stessa ”G49
“.
Vediamo in dettaglio i parametri da impostare per caratterizzare il funzionamento:
Parameter | Name | Description |
---|---|---|
#6000 | TOOL_CHANGE : Tool change type: | Impostare a zero. |
#6001 | TOOL_CHANGE : Tool change features: | 0 = non ritorna al punto XY iniziale. 1 = ritorna al punto XY iniziale |
#6002 | TOOL_CHANGE : Tool change position X (MCS) | posizione X macchina dove l'operatore effettua il cambio utensile |
#6003 | TOOL_CHANGE : Tool change position Y (MCS) | posizione Y macchina dove l'operatore effettua il cambio utensile |
#6004 | TOOL_CHANGE : Tool change position Z (MCS) | posizione Z macchina dove l'operatore effettua il cambio utensile |
#6005 | TOOL_CHANGE : Sensor safe position Z (MCS) | posizione di sicurezza Z usate per attraversare il piano di lavoro e raggiungere le coordinate sensore o cambio utensile |
#6006 | TOOL_CHANGE : Sensor top/center position X (MCS) | posizione X macchina dove si trova il sensore di misura |
#6007 | TOOL_CHANGE : Sensor top/center position Y (MCS) | posizione Y macchina dove si trova il sensore di misura |
#6008 | TOOL_CHANGE : Sensor top/center position Z (MCS) | posizione Z alla quale il mandrino toccherebbe il sensore se fosse privo di utensile |
#6009 | TOOL_CHANGE : Feed during tool change procedure | feed durante i movimenti di attraversamento |
#6010 | TOOL_CHANGE : Z approaching sensor position (MCS, reached with FAST feed #6011) | posizione Z alla quale il mandrino scende ad una velocità elevata. Questa quota va impostata in modo che anche con l'utensile più lungo utilizzabile non venga mai premuto il sensore. |
#6011 | TOOL_CHANGE : Z feed to sensor approaching (FAST) | feed durante la discesa rapida verso il sensore |
#6012 | TOOL_CHANGE : Z feed to 1st probe input capture (SLOW) | feed durante la prima discesa. Impostare una velocità bassa. |
#6013 | TOOL_CHANGE : Z feed to 2nd probe input capture (VERY SLOW) | feed durante la seconda discesa. Impostare una velocità molto bassa per aumentare la precisione. |
#6014 | TOOL_CHANGE : Z up movement after 1st touch capture (REL) | spazio eseguito dall'asse Z per disimpegnare il sensore e prepararsi al secondo tocco. Inserire un valore piccolo, per esempio 3.0 mm |
#6015 | TOOL_CHANGE : Minimum tool lenght accepted | corrisponde alla lunghezza dell'utensile più corto che si vuole usare. E' un valore utilizzato durante il movimento per il secondo tocco, l'asse Z scende fino ad un valore indicato dal parametro 6008 maggiorato del presente parametro. |
Starting from version 1.7 the management of the Plasma Torch has been added.
For plasma management it is possible to add an external THC (Torch Height Control) device to obtain control of the torch height.
An example of a widely used THC device could be the THC 150 model of the Proma Elektronika company.
The THC 150 provides three output digital signals to the CNC:
All these digital signals are connected to the RosettaCNC user inputs.
The number of the user input to be used is not restricted, in the RosettaCNC settings it will be necessary to set the number of the user input chosen for each signal.
The management of the Plasma Torch is decoupled from the management of Spindle, therefore it is possible to have mounted in same head of CNC a normal Spindle and a Plasma Torch.
Spindle and Plasma Torch have separate digital output signals but share same activation/deactivation G-code (M3
and M5
).
When the loaded tool is of type Plasma M3
become Torch ON command and M5
will be Torch OFF command. M4
will have same behavior of M5
.
Also the Spindle CW Input, Spindle CCW Input and Spindle Stop Input will be disabled.
When the loaded tool is of any other type M3
become Spindle CW and command M5
will be Spindle Stop. M4
will be Spindle CCW.
The Spindle CW Input, Spindle CCW Input and Spindle Stop Input if configurated will be enabled.
To work with Plasma Torch is necessary to correctly define and load a Plasma tool.
This requires that the Tool Change Type parameter, in the Tool Change panel on RosettaCNC Board Settings, is set to Macro and that the tool change macro is correctly configurated for your machine.
The configuration of Plasma Torch and Torch Height Control is defined in the Plasma Torch panel in the RosettaCNC tab settings.
Let's see in detail the meaning of each parameter:
M17
) RosettaCNC continuously monitors the signal and if it indicates a collision, the machining is immediately stopped and the alarm would appear:
The CNC enters in Plasma Mode when a tool of PLASMA type il loaded with Tn M6
or M61 Qn
G-code instructions.
The CNC exits from Plasma Mode when any other type of tool is loaded with Tn M6
or M61 Qn
G-code instructions.
During PLASMA tool loading the CNC checks if Enable Plasma Torch setup parameter is OFF, in this case the CNC will enters in ALARM state:
When CNC is in Plasma Mode:
M3
actives the Plasma Torch output.M4
/M5
deactives the Plasma Torch output.M17
enables the THC device control of Z axis height.M18
disables the THC device control of Z axis height.
The M17
instruction activates the Z axis control by THC. When this instruction is encountered, RosettaCNC saves the current Z axis position, then disconnects the axis from the interpolation and commands it via the Up torch and Down torch inputs. When the instruction M18
is met RosettaCNC maintains the current position up to a new command Z instruction inside the G-code. During the THC check, a digital output, if configured, is activated to manage any external electromechanical logic.
The G-code instruction M17
can place CNC in ALARM state:
This happens in the following cases:
The Torch Arc OK input signal can be set to any generic user input or leaved NOT configured in the “Plasma torch” panel.
When assigned to an user input it is possible to wait and verify that the arc is activated by, for example, instruction M66 P1 L1
after power on the torch with M3
.
However, if you wish also that RosettaCNC continuously verifies the presence of the “Torch Arc Ok” input signal when the THC is active, then it must be configured.
In this way you can continue to use the check with instruction M66 P1 L1
and if the arc became not active, an alarm during THC enable is generated
.
In other words, while the THC is active, if the “Torch Arch Ok” signal becomes or is already active, it can no longer be deactivated until the THC is disabled.
When the THC is active, the Z position assumes a value different from that expressed by the G-code.
The M18
command (that deactivates the THC) must also return the Z position to the value expressed by the G-code.
This movement takes place in the following way: at the first movement instruction following the code M18
(even if it does not explicitly include the letter Z) the CN performs a check if an upward movement is necessary to reach the target position.
In the negative case (negative movement need) the CNC enters in ALARM state:
Otherwise the new movement includes a movement of Z from the current position to the new target position expressed in the G-code.
So in general it is necessary to verify in the post processor that the first move instruction after M18
includes a climb movement Z to a safety altitude.
The Torch Disable Velocity parameter, when greater than 0%, enables continuous monitoring of the interpolation feed rate.
During movements with THC Control Enabled (M17
) if interpolation feed rate decreases by percentage respect to the set value, the CNC automatically suspends the THC Control.
This is useful if the feed speed is decreased by the interpolator to respect the axis accelerations, for eg.during an axis direction change.
Let's take an example:
F1000
.
Another example:
F3000
.
It is possible to have in the toolbar the icon of Plasma Torch output state enabling related icon Visible checkbox on Toolbar View panel of Program Settings.
It is also possible to enable the icon to change Plasma Torch output state enabling realeted icon Enabled checkbox.
The change of Plasma Torch output state between icon toolbar will be possibile ONLY when CNC is in IDLE state.
Resulting toolbar view:
It is possible to have in the toolbar the icon of THC Disable control enabling related icon Visible checkbox on Toolbar View panel of Program Settings.
It is also possibile to enable the icon to change the THC Disable state enabling related icon Enabled checkbox.
The change of THC disable state is possible both before the execution of a G-code and during the execution of a G-code.
If the THC is disabled the Z axis keep the position.
Resulting toolbar view:
The set disable state is not kept after a CNC shutdown.
When a Plasma Torch tool is active an extra panel is shown at top/right place in toolpath scene.
The panel indicates that CNC is in Plasma mode and two LEDs show the Plasma Torch and THC control state.
An overall view of Plasma Torch CNC is the following:
M17
) any programmed Z movement in the G-code will be ignored.
When the CNC has an ATC System the Control Software can help the phase of Tools Setup through a dedicated user panel, the ATC Management.
The ATC Management panel is available and enabled in “Functions –> ATC Management” menu only if following requirements are satified:
In the Tool Setup Commands panel there are six action buttons:
Default skeleton Macro sample:
; ; RosettaCNC (c) 2016-2020 ; ; Name : atcm_set_loaded_tool ; Sub UID : 1 ; Version : 1 ; Description : set loaded tool action ; Note : use M99 as macro exit call ; : TAKE CARE: following is only a skeleton macro sample ; ; Inputs: ; ; Parameter Description ; ========= =========== ; #<atcm.tool_id> tool id to set as loaded in the spindle ; O1 ; !!! REMOVE BELOW SKELETON MACRO SAMPLE & PLACE YOUR ACTION CODE HERE !!! ; notices PLC about spindle loaded tool id M61 Q#<atcm.tool_id> ; shows HUD (Heads-Up Display) message for a while M109 P"ATCM - Set Loaded Tool in the Spindle: #<atcm.tool_id>..." Q4 G4 P2 M99
Default skeleton Macro sample:
; ; RosettaCNC (c) 2016-2020 ; ; Name : atcm_manual_release ; Sub UID : 1 ; Version : 1 ; Description : manual release action ; Note : use M99 as macro exit call ; : TAKE CARE: following is only a skeleton macro sample ; O1 ; !!! REMOVE BELOW SKELETON MACRO SAMPLE & PLACE YOUR ACTION CODE HERE !!! ; notices PLC about spindle with none tool loaded because was released M61 Q0 ; shows HUD (Heads-Up Display) message for a while M109 P"ATCM - Manual Release..." Q4 G4 P2 M99
Default skeleton Macro sample:
; ; RosettaCNC (c) 2016-2020 ; ; Name : atcm_open_close_cart ; Sub UID : 1 ; Version : 1 ; Description : open/close action ; Note : use M99 as macro exit call ; : TAKE CARE: following is only a skeleton macro sample ; O1 ; !!! REMOVE BELOW SKELETON MACRO SAMPLE & PLACE YOUR ACTION CODE HERE !!! ; shows HUD (Heads-Up Display) message for a while M109 P"ATCM - Open/Close Cart..." Q4 G4 P2 M99
The Pick/Place action can be used to:
The action button is enabled if:
The Pick/Place action can be executed clicking Pick/Place button or pressing F9 key.
The Pick/Place action call the external macro atc_pick_place.ngc
which implements required G-code program.
The inputs of macro are:
#<atc.pick_place.mode> ; contains the pick/place mode: 0 = pick, 1 = place ; in case of a place mode ; #<atc.pick_place.tool_id>=3 ; contains pick/place tool ID to pick #<atc.pick.place_slot_id>=1 ; contains pick/place slot ID to pick ; in case of a pick mode #<atc.pick_place.tool_id>=3 ; contains pick/place tool ID to place #<atc.pick.palce.slot_id>=1 ; contains pick/place slot ID to place
Default skeleton Macro sample:
; ; RosettaCNC (c) 2016-2020 ; ; Name : atcm_pick_place_tool ; Sub UID : 1 ; Version : 1 ; Description : pick/place tool action ; Note : use M99 as macro exit call ; : TAKE CARE: following is only a skeleton macro sample ; ; Inputs: ; ; Parameter Description ; ========= =========== ; #<atcm.pick_place.mode> pick & place mode: ; #<pick_place.mode_pick> = pick tool action ; #<pick_place.mode_place> = place tool action ; #<pick_place.mode_place_pick> = place/pick tool action ; #<atcm.pick.slot_id> slot id to pick ; #<atcm.pick.slot_id> tool id to pick ; #<atcm.place.tool_id> slot id to place ; #<atcm.place.slot_id> tool id to place ; O1 ; !!! REMOVE BELOW SKELETON MACRO SAMPLE & PLACE YOUR ACTION CODE HERE !!! ; checks if request a pick action IF [#<atcm.pick_place.mode> EQ #<pick_place.mode_pick>] THEN01 ; shows pick action parameters M109 P"<B>ATCM - Pick/Place</B><BR><BR>Mode = Pick Tool<BR>Slot ID = #<atcm.pick.slot_id><BR>Tool ID = #<atcm.pick.slot_id>" Q2 M99 END01 ; checks if request a place action IF [#<atcm.pick_place.mode> EQ #<pick_place.mode_place>] THEN01 ; shows place action parameters M109 P"<B>ATCM - Pick/Place</B><BR><BR>Mode = Place Tool<BR>Slot ID = #<atcm.place.tool_id><BR>Tool ID = #<atcm.place.slot_id>" Q2 M99 END01 ; checks if request a pick/place action IF [#<atcm.pick_place.mode> EQ #<pick_place.mode_place_pick>] THEN01 ; shows pick/place action parameters M109 P"<B>ATCM - Pick/Place</B><BR><BR>Mode = Pick/Place Tool<BR>Place: Slot ID = #<atcm.place.tool_id>, Tool ID = #<atcm.place.slot_id><BR>Pick: Slot ID = #<atcm.pick.slot_id>, Tool ID = #<atcm.pick.slot_id>" Q2 M99 END01 ; notices wrong pick/place mode M109 P"<B>ATC Pick/Place</B><BR><BR>Mode = #<atcm.pick_place.mode><BR><BR><B>Unsupported Mode</B>" Q2 M99
Default skeleton Macro sample:
; ; RosettaCNC (c) 2016-2020 ; ; Name : atcm_preset_tools ; Sub UID : 1 ; Version : 1 ; Description : preset tools action ; Note : use M99 as macro exit call ; : TAKE CARE: following is only a skeleton macro sample ; ; Inputs: ; ; Parameter Description ; ========= =========== ; #<atcm.preset_tools.count> number of selected tools to preset ; #<atcm.preset_tools.slot_id[n]> array with slot id of selected tool to preset ([n] = 1..#<atcm.preset_tools.count>) ; #<atcm.preset_tools.tool_id[n]> array with tool id of selected tool to preset ([n] = 1..#<atcm.preset_tools.count>) ; #<atcm.preset_tools.loaded.slot_id> slot id of loaded tool to preset (0 = no loaded tool in the spindle) ; #<atcm.preset_tools.loaded.tool_id> tool id of loaded tool to preset (0 = no loaded tool in the spindle) ; O1 ; !!! REMOVE BELOW SKELETON MACRO SAMPLE & PLACE YOUR ACTION CODE HERE !!! M109 P"ATCM - Preset of Tools" Q4 ; checks if there is a loaded tool in the spindle IF [#<atcm.preset_tools.loaded.tool_id> NE 0] THEN01 #<_slot_> = #<atcm.preset_tools.loaded.slot_id> #<_tool_> = #<atcm.preset_tools.loaded.tool_id> ; shows loaded tool to preset info M109 P"<B>ATCM - Preset Loaded Tool</B><BR><BR>Slot ID = #<_slot_><BR>ToolID = #<_tool_>" Q2 ; place here code for preset loaded tool ; Xxx END01 ; parses tools to do a preset and shows related infos #<_i_> = 1 WHILE [#<_i_> LE #<atcm.preset_tools.count>] DO01 #<_slot_> = #<atcm.preset_tools.slot_id[#<_i_>]> #<_tool_> = #<atcm.preset_tools.tool_id[#<_i_>]> ; checks if selected tool is not the loaded tool already presetted IF [#<_tool_> NE #<atcm.preset_tools.loaded.tool_id>] THEN02 ; shows tool to preset info M109 P"<B>ATCM - Preset Selected Tool</B><BR><BR>Slot ID = #<_slot_><BR>ToolID = #<_tool_>" Q2 ; place here code for preset tool ; Xxx END02 #<_i_> = [#<_i_> + 1] END01 M99
The Control Software integrates a Languange Engine which permits to switch UI language from a list of available languages.
The UI Language Engine uses gettext, a standard internationalization and localization system commonly used for writing multilingual programs.
To edit an existent language, or add a new language to the Control Software, you can use the program Poedit.
Poedit exists in the freeware version or in the PRO version, which adds a lot of useful features to reduce the translation time and increase translation accuracy.
There are other translation tools that manage gettext .po
/.mo
files but in this document, we will use Poedit.
In gettext for each language translations there are one or two files:
default.po
file to get the default.mo
.
default.mo
file.
As shown in the upon scheme:
default.po
is loaded in Poedit translator for the translation in the target language.
default.mo
.
default.mo
with translated texts.
Both gettext and Poedit support Unicode texts, so default.po
and default.mo
will contain Unicode translations.
The gettext Language Engine needs a well-defined path organization where to get info about available translation languages.
The Control Software reaches the translations files from %APPDATA\RosettaCNC-1\locale
folder:
%APPDATA%\RosettaCNC-1\locale | + default.po (this is the main translation file to use to add a new language translation or merge already translated with new version). | +--\de | | | +----\LC_MESSAGES\default.mo (Compiled Translation File for German) | +--\en | | | +----\LC_MESSAGES\default.mo (Compiled Translation File for English) | \default.po (Source Translation File for Poedit) | +--\fr_FR | | | +----\LC_MESSAGES\default.mo (Translation File for Francaise of France) | +--\it_IT | | | +----\LC_MESSAGES\default.mo (Translation File for Italian of Italy) | +--\pt_BR | +----\LC_MESSAGES\default.mo (Translation File for Portughese of Brazil)
The folders after locale
define the translation language ad use the ISO 639-1
standard ( List of ISO 639-1 codes ).
The ISO 639-1
permits to define a language (e.g. en
for common English) or a derivation of a language for a specific country (e.g: en_CA
English for Canada).
The locale\en\LC_MESSAGES
folder is then only that contains also the Source Translation File for Poedit ( poedit.po
) to use to create a new translation language.
The Control Software texts are natively in English so actually no need for any translation and poedit.mo
will be an empty container.
To add a new language, e.g. Spanish, the steps to do are:
en
folder, available in %APPDATA%\RosettaCNC-1\locale
in %APPDATA%\RosettaCNC-1\locale
...\locale\es
folder to to have the %APPDATA%\RosettaCNC-1\locale\es
and related sub-folders.
%APPDATA%\RosettaCNC-1\locale\sp\LC_MESSAGES\default.po
file or double click on it in Explorer to start Poedit and load it.At this point Poedit will indicate to you that a Language of the Translation isn't set:
Clicking on the Set Language button will appear the Catalogue properties panel to define the Language, Charset, and info about translator identity:
Now the editor is ready to receive translations from English to Spanish.
%s
for string, %d
for data, %f
for load or \n
, etc. these MUST be present in same order also in the Translation.
The last point is very IMPORTANT because a missing or wrong order in a wildcard can produce an issue in the Translation Engine.
A practical way to translate a text is to copy the original one from the Source Text row to the Translate row and after modify the contents.
In this mode, it is more improbable to miss or mistake the order of wildcards or special chars.
To save the translation project and create the final translation file default.mo
is only necessary to click the Save button in the toolbar:
The resulting localization path will be:
%APPDATA%\RosettaCNC-1\locale | +--\de | | | +----\LC_MESSAGES\default.mo (Compiled Translation File for German) | +--\en | | | +----\LC_MESSAGES\default.mo (Compiled Translation File for English) | \default.po (Source Translation File for Poedit) | +--\fr_FR | | | +----\LC_MESSAGES\default.mo (Translation File for Francaise of France) | +--\it_IT | | | +----\LC_MESSAGES\default.mo (Translation File for Italian of Italy) | +--\pt_BR | | | +----\LC_MESSAGES\default.mo (Translation File for Portughese of Brazil) | +--\es | +----\LC_MESSAGES\default.mo (Translation File for Spanish) \default.po (Source Translation File for Poedit with Spanish Texts)
To check the translation just Start Control Software and choose the Spanish language in menu Program Settings…
at Languages
panel:
Every Control Software update or new version adds or changes some text so it is important to manage translations in time.
For a better management of a newly added language, we suggest saving the source translated file default.po
for future translations.
Much better if you will send the file to support@rosettacnc.com
, in this way we will add it to the new installation packages and we will maintain the new entry texts in that language.
Main Menu | Function | Control Keys | Key | Description |
---|---|---|---|---|
File | ||||
Open File… | F12 | |||
|
||||
Save | Ctrl | S | ||
Edit | ||||
Undo | Ctrl | Z | ||
Redo | Shift + Ctrl | Z | ||
|
||||
Find | Ctrl | F | ||
Replace | Ctrl | R | ||
Search Again | Ctrl | N | ||
|
||||
Go to Line Number… | Ctrl | G | ||
View | ||||
Show Grid | Alt | 1 | ||
Show DRO Monitor | Alt | 2 | ||
Show TCP Extents in Feed | Alt | 4 | ||
Show Machine Toolbar | Alt | 5 | ||
Show MCS Origin Guide | Alt | 6 | ||
Show Active WCS Origin Guide | Alt | 7 | ||
Show Rotary Guide for Axis A | Alt | 8 | ||
Show Rotary Guide for Axis B | Alt | 9 | ||
Show Rotary Guide for Axis C | Alt | 0 | ||
|
||||
Show Jog Controls | F1 | |||
Show Machining Info | F2 | |||
Show Dynamic Offsets | F3 | |||
Show MDI Commands | F4 | |||
Show Simulator Controls | F5 | |||
|
||||
Toogle Fullscreen | F11 | |||
Machine | ||||
Start | Ctrl | F5 | ||
Stop | Ctrl | F7 | ||
Resume | Ctrl | F8 | ||
|
||||
Go to Position | Ctrl | F9 | ||
|
||||
Define Tool In Spindle… | Ctrl | F10 | ||
|
||||
Reset Alarms | Ctrl | F11 |
G-Code Editor | Function | Control Keys | Key | Description |
---|---|---|---|---|
Analyze G-Code | F9 | |||
|
||||
Up | UP | |||
Sel Up | Shift | UP | ||
Scroll Up | Ctrl | UP | ||
Down | DOWN | |||
Sel Down | Shift | DOWN | ||
Scroll Down | Ctrl | DOWN | ||
Left | LEFT | |||
Sel Left | Shift | LEFT | ||
Word Left | Ctrl | LEFT | ||
Sel Word Left | Shift + Ctrl | LEFT | ||
Right | RIGHT | |||
Sel Right | Shift | RIGHT | ||
Word Right | Ctrl | RIGHT | ||
Sel Word Right | Shift + Ctrl | RIGHT | ||
Page Down | NEXT | |||
Sel Page Down | Shift | NEXT | ||
Page Bottom | Ctrl | NEXT | ||
Sel Page Bottom | Shift + Ctrl | NEXT | ||
Page Up | PRIOR | |||
Sel Page Up | Shift | PRIOR | ||
Page Top | Ctrl | PRIOR | ||
Sel Page Top | Shift + Ctrl | PRIOR | ||
Line Start | HOME | |||
Sel Line Start | Shift | HOME | ||
Editor Top | Ctrl | HOME | ||
Sel Editor Top | Shift + Ctrl | HOME | ||
Line End | END | |||
Sel Line End | Shift | END | ||
Editor Bottom | Ctrl | END | ||
Sel Editor Bottom | Shift + Ctrl | END | ||
Toggle Mode | INSERT | |||
Copy | Ctrl | INSERT | ||
Cut | Shift | DELETE | ||
Paste | Shift | INSERT | ||
Delete Char | DELETE | |||
Delete Last Char | BACK | |||
Delete Last Char | Shift | BACK | ||
Delete Last Word | Ctrl | BACK | ||
Undo | Alt | BACK | ||
Redo | Alt + Shift | BACK | ||
Line Break | RETURN | |||
Line Break | Shift | RETURN | ||
Tab | TAB | |||
Shift-Tab | Shift | TAB | ||
Context Help | F1 | |||
| ||||
Select All | Ctrl | A | ||
Copy | Ctrl | C | ||
Paste | Ctrl | V | ||
Cut | Ctrl | X | ||
Block Indent | Ctrl + Shift | I | ||
Block Unindent | Ctrl + Shift | U | ||
Line Break | Ctrl | M | ||
Insert Line | Ctrl | N | ||
Delete Word | Ctrl | T | ||
Delete Line | Ctrl | Y | ||
Delete EOL | Ctrl + Shift | Y | ||
Undo | Ctrl | Z | ||
Redo | Ctrl + Shift | Z | ||
Goto Marker 0 | Ctrl | 0 | ||
Goto Marker 1 | Ctrl | 1 | ||
Goto Marker 2 | Ctrl | 2 | ||
Goto Marker 3 | Ctrl | 3 | ||
Goto Marker 4 | Ctrl | 4 | ||
Goto Marker 5 | Ctrl | 5 | ||
Goto Marker 6 | Ctrl | 6 | ||
Goto Marker 7 | Ctrl | 7 | ||
Goto Marker 8 | Ctrl | 8 | ||
Goto Marker 9 | Ctrl | 9 | ||
|
||||
Set Marker 0 | Ctrl + Shift | 0 | ||
Set Marker 1 | Ctrl + Shift | 1 | ||
Set Marker 2 | Ctrl + Shift | 2 | ||
Set Marker 3 | Ctrl + Shift | 3 | ||
Set Marker 4 | Ctrl + Shift | 4 | ||
Set Marker 5 | Ctrl + Shift | 5 | ||
Set Marker 6 | Ctrl + Shift | 6 | ||
Set Marker 7 | Ctrl + Shift | 7 | ||
Set Marker 8 | Ctrl + Shift | 8 | ||
Set Marker 9 | Ctrl + Shift | 9 | ||
| ||||
Normal Select | Ctrl + Shift | N | ||
Column Select | Ctrl + Shift | C | ||
Line Select | Ctrl + Shift | L | ||
Match Bracket | Ctrl + Shift | B |
The G-code compiler has a default set of read-only named variables, which can be useful in program and macro editing.
Use these parameters instead of direct constant values, where possible.
So you can maintain macro compatibility between the various software versions.
There are eight groups:
#<sys.xxx>
which contains info about the system.#<math.xxx>
which contains usefull math constants.#<cnc.xxx>
which contains some of CNC setup settings.#<compile.xxx>
which contains the compile enums.#<kinematics.model.xxx
which contains the kinematics enums.#<axis.xxx>
which contains the axis enums.#<tool.xxx>
which contains the tool enums.#<probe.xxx>
which contains the probe enums.#<wait_input.xxx>
which contains the M66 wait enums.#<pick_place.xxx>
which contains the ATCM enums.Named Variable | Description |
---|---|
#<sys.version.major> | Version of CNC Core System: Major version. |
#<sys.version.minor> | Version of CNC Core System: Minor version. |
#<sys.version.release> | Version of CNC Core System: Release. |
#<sys.version.build> | Version of CNC Core System: Build. |
#<sys.customer_id> | Customer ID (0 for unbranded boards). |
#<sys.interface_level> | Interface Level (8 for Control Software 1.8.x). |
|
|
|
|
#<math.max> | Max value. |
#<math.min> | Min value. |
#<math.nan> | Nan value. |
#<math.infinity> | Infinity value. |
#<math.neg_infinity> | Negative Infinity value. |
#<math.e> | Euler's number. |
#<math.pi> | Archimedes constant. |
#<math.ln_2> | Natural Log of 2. |
#<math.ln_10> | Natural Log of 10. |
#<math.ln_pi> | Natural Log of pi. |
#<math.to_mm> | Factor to convert inches to mm (25.4). |
#<math.to_in> | Factor to convert mm to inches (1/25.4). |
#<math.to_rad> | Factor to convert deg to rad (pi/180). |
#<math.to_deg> | Factor to convert rad to deg (180/pi). |
|
|
|
|
#<cnc.compile.mode> | Compile Mode:#<compile.mode_mdi> = Compiling an MDI program.#<compile.mode_macro> = Compiling a Macro program.#<compile.mode_program> = Compiling the Main G-Code program.#<compile.mode_program_from_line> = Compiling the Main G-Code program starting from a specific line.#<compile.mode_program_for_resume> = Compiling the Main G-Code program for a RESUME after STOP command.#<compile.mode_program_for_resume_from_line> = Compiling the Main G-Code program for a RESUME from Line after STOP command.#<compile.mode_program_for_analysis> = Compiling the Main G-Code program for analysis. |
#<cnc.compile.line> | Compile Line: Contains the start Line when #<cnc.compile.mode> = #<compile.mode_program_from_line> otherwise it is 0. |
|
|
#<cnc.machine_type> | Machine Type: 0 = Mill. |
#<cnc.kinematics_model> | Kinematics Model: 0 = Trivial. 1 = Independent Rotational Axes. 2 = Rotary Table AC. 3 = Rotary Table BC. 4 = Tilting Spindle AC. |
|
|
#<cnc.x.type> | X Axis Type: 0 = Linear Axis |
#<cnc.x.max_vel> | X Axis Max Velocity [mm/min] |
#<cnc.x.acc> | X Axis Acceleration [mm/s²] |
#<cnc.x.min_lim> | X Axis Min Limit [mm] |
#<cnc.x.max_lim> | X Axis Max Limit [mm] |
|
|
#<cnc.y.type> | Y Axis Type: 0 = Linear Axis |
#<cnc.y.max_vel> | Y Axis Max Velocity [mm/min] |
#<cnc.y.acc> | Y Axis Acceleration [mm/s²] |
#<cnc.y.min_lim> | Y Axis Min Limit [mm] |
#<cnc.y.max_lim> | Y Axis Max Limit [mm] |
|
|
#<cnc.z.enabled> | Z Axis Enabled State: 0 = Disabled 1 = Enabled |
#<cnc.z.type> | Z Axis Type: 0 = Linear Axis |
#<cnc.z.max_vel> | Z Axis Max Velocity [mm/min] |
#<cnc.z.acc> | Z Axis Acceleration [mm/s²] |
#<cnc.z.min_lim> | Z Axis Min Limit [mm] |
#<cnc.z.max_lim> | Z Axis Max Limit [mm] |
|
|
#<cnc.a.type> | A Axis Type: 0 = Linear Axis 1 = Rotary Axis Free 2 = Rotary Axis for Head 3 = Rotary Axis for Table |
#<cnc.a.max_vel> | A Axis Max Velocity [mm/min] |
#<cnc.a.acc> | A Axis Acceleration [mm/s²] |
#<cnc.a.min_lim> | A Axis Min Limit [mm] |
#<cnc.a.max_lim> | A Axis Max Limit [mm] |
#<cnc.a.motion_mode> | A Axis Motion Mode: 0 = Continuous 1 = Indexing |
#<cnc.a.convention> | A Axis Convention: 0 = Normal 1 = Inverse |
#<cnc.a.wrapped_rotary> | A Axis Wrapped Rotary State: 0 = Disabled 1 = Enabled |
#<cnc.a.parallel_to> | A Axis Parallet to: 0 = X 1 = Y 2 = Z |
#<cnc.a.origin_mode> | A Axis Origin Mode: 0 = Custom 1 = WCS 1 - G54 2 = WCS 2 - G55 3 = WCS 3 - G56 4 = WCS 4 - G57 5 = WCS 5 - G58 6 = WCS 6 - G59 7 = WCS 7 - G59.1 8 = WCS 8 - G59.2 9 = WCS 9 - G59.3 |
#<cnc.a.origin_x> | A Axis Origin X [mm] |
#<cnc.a.origin_y> | A Axis Origin Y [mm] |
#<cnc.a.origin_z> | A Axis Origin Z [mm] |
|
|
#<cnc.b.type> | B Axis Type: 0 = Linear Axis 1 = Rotary Axis Free 3 = Rotary Axis for Table |
#<cnc.b.max_vel> | B Axis Max Velocity [mm/min] |
#<cnc.b.acc> | B Axis Acceleration [mm/s²] |
#<cnc.b.min_lim> | B Axis Min Limit [mm] |
#<cnc.b.max_lim> | B Axis Max Limit [mm] |
#<cnc.b.motion_mode> | B Axis Motion Mode: 0 = Continuous 1 = Indexing |
#<cnc.b.convention> | B Axis Convention: 0 = Normal 1 = Inverse |
#<cnc.b.wrapped_rotary> | B Axis Wrapped Rotary State: 0 = Disabled 1 = Enabled |
#<cnc.b.parallel_to> | B Axis Parallet to: 0 = X 1 = Y 2 = Z |
#<cnc.b.origin_mode> | B Axis Origin Mode: 0 = Custom 1 = WCS 1 - G54 2 = WCS 2 - G55 3 = WCS 3 - G56 4 = WCS 4 - G57 5 = WCS 5 - G58 6 = WCS 6 - G59 7 = WCS 7 - G59.1 8 = WCS 8 - G59.2 9 = WCS 9 - G59.3 |
#<cnc.b.origin_x> | B Axis Origin X [mm] |
#<cnc.b.origin_y> | B Axis Origin Y [mm] |
#<cnc.b.origin_z> | B Axis Origin Z [mm] |
|
|
#<cnc.c.type> | C Axis Axis Type: 0 = Linear Axis 1 = Rotary Axis Free 2 = Rotary Axis for Head 3 = Rotary Axis for Table |
#<cnc.c.max_vel> | C Axis Max Velocity [mm/min] |
#<cnc.c.acc> | C Axis Acceleration [mm/s²] |
#<cnc.c.min_lim> | C Axis Min Limit [mm] |
#<cnc.c.max_lim> | C Axis Max Limit [mm] |
#<cnc.c.motion_mode> | C Axis Motion Mode: 0 = Continuous 1 = Indexing |
#<cnc.c.convention> | C Axis Convention: 0 = Normal 1 = Inverse |
#<cnc.c.wrapped_rotary> | C Axis Wrapped Rotary State: 0 = Disabled 1 = Enabled |
#<cnc.c.parallel_to> | C Axis Parallet to: 0 = X 1 = Y 2 = Z |
#<cnc.c.origin_mode> | C Axis Origin Mode: 0 = Custom 1 = WCS 1 - G54 2 = WCS 2 - G55 3 = WCS 3 - G56 4 = WCS 4 - G57 5 = WCS 5 - G58 6 = WCS 6 - G59 7 = WCS 7 - G59.1 8 = WCS 8 - G59.2 9 = WCS 9 - G59.3 |
#<cnc.c.origin_x> | C Axis Origin X [mm] |
#<cnc.c.origin_y> | C Axis Origin Y [mm] |
#<cnc.c.origin_z> | C Axis Origin Z [mm] |
|
|
#<cnc.u.type> | U Axis Type: 4 = Gantry Axis for X 5 = Gantry Axis for Y 6 = Gantry Axis for Z |
#<cnc.u.max_vel> | U Axis Max Velocity [mm/min] |
#<cnc.u.acc> | U Axis Acceleration [mm/s²] |
#<cnc.u.min_lim> | U Axis Min Limit [mm] |
#<cnc.u.max_lim> | U Axis Max Limit [mm] |
|
|
#<cnc.v.type> | V Axis Type: 4 = Gantry Axis for X 5 = Gantry Axis for Y 6 = Gantry Axis for Z |
#<cnc.v.max_vel> | V Axis Max Velocity [mm/min] |
#<cnc.v.acc> | V Axis Acceleration [mm/s²] |
#<cnc.v.min_lim> | V Axis Min Limit [mm] |
#<cnc.v.max_lim> | V Axis Max Limit [mm] |
|
|
#<cnc.w.enabled> | W Axis Enabled State: 0 = Disabled 1 = Enabled |
#<cnc.w.type> | W Axis Type: 4 = Gantry Axis for X 5 = Gantry Axis for Y 6 = Gantry Axis for Z |
#<cnc.w.max_vel> | W Axis Max Velocity [mm/min] |
#<cnc.w.acc> | W Axis Acceleration [mm/s²] |
#<cnc.w.min_lim> | W Axis Min Limit [mm] |
#<cnc.w.max_lim> | W Axis Max Limit [mm] |
|
|
|
|
#<cnc.spindle.max_speed> | Spindle Max Speed [rpm]. |
|
|
#<cnc.rotary_table.d_x> | Rotary Table D:X [mm]. |
#<cnc.rotary_table.d_y> | Rotary Table D:Y [mm]. |
#<cnc.rotary_table.d_z> | Rotary Table D:Z [mm]. |
|
|
#<cnc.tilting_head.h_x> | Tilting Head H:X [mm]. |
#<cnc.tilting_head.h_y> | Tilting Head H:Y [mm]. |
#<cnc.tilting_head.h_z> | Tilting Head H:Z [mm]. |
#<cnc.tilting_head.j_x> | Tilting Head J:X [mm]. |
#<cnc.tilting_head.j_y> | Tilting Head J:Y [mm]. |
#<cnc.tilting_head.j_z> | Tilting Head J:Z [mm]. |
|
|
|
|
#<compile.mode_mdi> | Compile Mode: MDI (1). |
#<compile.mode_macro> | Compile Mode: Macro (2). |
#<compile.mode_program> | Compile Mode: Program (3). |
#<compile.mode_program_from_line> | Compile Mode: Program from Line (4). |
#<compile.mode_program_for_resume> | Compile Mode: Program for Resume (5). |
#<compile.mode_program_for_resume_from_line> | Compile Mode: Program for Resume (6). |
#<compile.mode_program_for_analysis> | Compile Mode: Program for Analysis (7). |
|
|
|
|
#<axis.type.disabled> | Axis Type: Disabled (0). |
#<axis.type.linear> | Axis Type: Linear (1). |
#<axis.type.rotary_free> | Axis Type: Rotary Free (2). |
#<axis.type.rotary_head> | Axis Type: Rotary Head (3). |
#<axis.type.rotary_table> | Axis Type: Rotary Table (4). |
#<axis.type.gantry_1> | Axis Type: Gantry 1 (5). |
#<axis.type.gantry_2> | Axis Type: Gantry 2 (6). |
|
|
|
|
#<tool.type.generic> | Tool Type: Generic (0). |
#<tool.type.flat_end_mill> | Tool Type: Flat End Mill (1). |
#<tool.type.ball_nose_end_mill> | Tool Type: Ball Nose End Mill (2). |
#<tool.type.drill> | Tool Type: Drill (3). |
#<tool.type.probe> | Tool Type: Probe (4). |
#<tool.type.saw> | Tool Type: Saw (5). |
#<tool.type.plasma> | Tool Type: Plasma (6). |
#<tool.type.drag_knife> | Tool Type: Drag Knife (7). |
#<tool.type.lathe> | Tool Type: Lathe (8). |
|
|
|
|
#<probe.state.succeed> | Probe State: Succeeded (0). Probe state is available at #5700 . |
#<probe.state.not_tripped> | Probe State: Not Tripped (-1). Probe state is available at #5700 . |
#<probe.state.already_tripped> | Probe State: Already Tripped (-2). Probe state is available at #5700 . |
|
|
|
|
#<wait_input.low> | M66 L parameter: Waits for the selected input to reach the LOW state (0). |
#<wait_input.high> | M66 L parameter: Waits for the selected input to reach the HIGH state (1). |
#<wait_input.fall> | M66 L parameter: Waits for the selected input to perform a FALL event (2). |
#<wait_input.rise> | M66 L parameter: Waits for the selected input to perform a RISE event (3). |
#<wait_input.immediate> | M66 L parameter: Return immediately and the input value is stored in #5720 (4). |
#<wait_input.alarm_low> | M66 L parameter: Waits for the selected input to reach the LOW state and generate a CNC alarm if timeout elapses while waiting (10). |
#<wait_input.alarm_high> | M66 L parameter: Waits for the selected input to reach the HIGH state and generate a CNC alarm if timeout elapses while waiting (11). |
#<wait_input.alarm_fall> | M66 L parameter: Waits for the selected input to perform a FALL event and generate a CNC alarm if timeout elapses while waiting (12). |
#<wait_input.alarm_rise> | M66 L parameter: Waits for the selected input to perform a RISE event and generate a CNC alarm if timeout elapses while waiting (13). |
#<wait_input.success> | Status of the last M66 in #5722 : “Wait Input” operation ended with success state (0). |
#<wait_input.failure> | Status of the last M66 in #5722 : “Wait Input” operation ended with failure state (1). |
|
|
|
|
#<pick_place.mode_pick> | In #<atcm.pick_place.mode> is requested a pick action (1). |
#<pick_place.mode_place> | In #<atcm.pick_place.mode> is requested a place action (2). |
#<pick_place.mode_place_pick> | In #<atcm.pick_place.mode> is requested a place & pick action (3). |
The Service Macros add new features to the system by supporting activities such as Plasma Cutting, Probing, Threading, Custom Cycles, etc.
Anyone can create Service Macros and here are described what we already made for end-user.
With plasma cutting, especially on large processing surfaces, there is a need to manually cut the remaining scraps.
This is either to optimize the waste material for other uses or due to the difficulty of manually removing what remains on the work surface.
The macro is useful also to manually cut simple material forms as well as lines, squares, diagonals, without the need for a CAD/CAM to create the toolpath.
With the plasma_manual_cut.ngc
is possible to acquire a continuous series of reference points directly on the material to cut.
When the needed cut points are acquired the macro can start the automatic cut of the resulting path in reverse order applying probing height and THC.
The macro requires:
6000.ngc
to manage TORCH ON (with probing and THC).
6001.ngc
to manage TORCH OFF (with THC).
macro_nn.ngc
(where nn
stay for the number of Macro from Input
) called by the pulse switch for acquiring cut point.
macro_nn.ngc
(where nn
stay for the number of Macro from Input
) called by the pulse switch for the execution of acquired cut points.
#4000..4015
parameters to define the macro behaviors.
Parameter | Description |
---|---|
#4000 | PLASMA_MANUAL_CUT: Torch touch enabled (0 = disabled | 1 = enabled) |
#4001 | PLASMA_MANUAL_CUT: Torch touch movement |
#4002 | PLASMA_MANUAL_CUT: Torch touch movement feed |
#4003 | PLASMA_MANUAL_CUT: Torch arc ok user input number |
#4004 | PLASMA_MANUAL_CUT: Torch arc ok uesr input timeout [s] |
#4005 | PLASMA_MANUAL_CUT: Torch THC enabled (0 = disabled | 1 = enabled) |
#4006 | PLASMA_MANUAL_CUT: Torch cut height |
#4007 | PLASMA_MANUAL_CUT: Pierce height |
#4008 | PLASMA_MANUAL_CUT: Pierce delay [s] |
#4009 | PLASMA_MANUAL_CUT: End delay [s] |
#4010 | PLASMA_MANUAL_CUT: Feed rate used for plasma cut |
#4011 | PLASMA_MANUAL_CUT: Acquire point user input number |
#4012 | PLASMA_MANUAL_CUT: Acquire point user input timeout for reset of acquired points |
#4013 | PLASMA_MANUAL_CUT: Acquire point state AUX number |
#4014 | PLASMA_MANUAL_CUT: Maximum points to be acquired |
#4015 | PLASMA_MANUAL_CUT: Acquired points |
#4016-#4019 | !!! NOT USED YET !!! |
#4020 | PLASMA_MANUAL_CUT: Begin area of acquired points |
CNC Features | |
---|---|
RosettaCNC-A |
|
RosettaCNC-B |
|
System | Powered by QMOS a proprietary embedded hard real-time OS |
Toolpath |
|
Conformity |
|
Control Software Features | |
Supported Systems |
|
Supported Languages | English, Italian, German, French, Portughese |
Accessories | |
Panel PC | · PanelPC A: xxx. · PanelPC B: xxx. |
Mechanic Handweel | · Handwheel A: cabled handwheel |
Electronic MPG | · MPG A: two phases digital MPG |
Electronic MPG | · MPG A: two phases digital MPG |