User Tools

Site Tools


mycnc:mycnc_configuration_dialogs

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
mycnc:mycnc_configuration_dialogs [2019/07/12 15:49]
ivan
mycnc:mycnc_configuration_dialogs [2019/10/10 09:55] (current)
ivan
Line 2: Line 2:
  
 ====Axes/​Motors==== ====Axes/​Motors====
- 
 {{:​mycnc:​config-axes-motors-002.jpg}} {{:​mycnc:​config-axes-motors-002.jpg}}
  
Line 40: Line 39:
   * Each Alarm can be enabled or disabled   * Each Alarm can be enabled or disabled
   * Any binary input can be assigned as selected Alarm   * Any binary input can be assigned as selected Alarm
-  * Input type **Normally opened** or **Normally closed** can be selected to the alarm.+  * Input type **Normally opened** or **Normally closed** can be selected to the alarm to specify its default behaviour while not triggered. The default behaviour can be checked in the Diagnostics panel and can be inverted in Settings > Config > Hardware > Common Hardware Settings.
  
 MyCNC software has different **Handlers** for Alarm. MyCNC software has different **Handlers** for Alarm.
Line 76: Line 75:
 X-alarms allow to select the Input Number, the Type of input (normally open or closed), the process that the alarm triggering will be blocking (jog, job, PLC, or a combination of the three), as well as the Hardware/​Software PLC Handlers which are summoned whenever the alarm is triggered. Due to being able to create unique PLC procedures, this alarm system can be customized to a much higher degree than the current alarm system which mostly deals with simple usercases. ​ X-alarms allow to select the Input Number, the Type of input (normally open or closed), the process that the alarm triggering will be blocking (jog, job, PLC, or a combination of the three), as well as the Hardware/​Software PLC Handlers which are summoned whenever the alarm is triggered. Due to being able to create unique PLC procedures, this alarm system can be customized to a much higher degree than the current alarm system which mostly deals with simple usercases. ​
  
-As the system is currently under development,​ not all features are yet present or behave correctly. Stay tuned for further updates.+As the system is currently under development,​ not all features are yet present or will behave correctly. Stay tuned for further updates.
  
 ===Limits=== ===Limits===
Line 132: Line 131:
   * Slot can be changed between MPG (to move the spindle around), THC/Z axis offset for manual control of the z-axis during torch height control, or Spindle Sync to synchronize the vertical z-axis movement and the rotation of the spindle. ​   * Slot can be changed between MPG (to move the spindle around), THC/Z axis offset for manual control of the z-axis during torch height control, or Spindle Sync to synchronize the vertical z-axis movement and the rotation of the spindle. ​
   * Encoder resolution: number of encoder markings per rotation * number of impulses per marking   * Encoder resolution: number of encoder markings per rotation * number of impulses per marking
 +
 +As the ET10 controller has dedicated input ports for manual pulse generators, it is not needed to specify 2 different ports but rather one dedicated encoder port number for an ET10 setup.
 +
 +NOTE: The ET7 controller has the two encoder slots reserved for the ET7 keyboard panel. These are permanently assigned to inputs #16, #17, #18, and #19, and changes in the Config window will not override this preset. If encoder slots are to be used on an ET7 board, the latter two are recommended. This setting is not present on the ET6/​ET10/​ET15 boards, where encoders 0-3 can be all used.
 +
 +NOTE #2: The ET10 controller can utilize inputs 0-31 for its binary inputs for an encoder setup. IN32-39 are reserved and are not suited for binary input configurations with an MPG wheel etc.  ​
 +
 +The full MPG though binary inputs manual is available [[mycnc:​mpg_through_binary_inputs|here]].
 +
 +{{:​mycnc:​config-062-mpg-et7.png}}
  
 === Jog through ADC inputs === === Jog through ADC inputs ===
Line 179: Line 188:
 === I/O Expand cards mapping === === I/O Expand cards mapping ===
 {{:​mycnc:​config-io-mapping-001.png}} {{:​mycnc:​config-io-mapping-001.png}}
 +
 +This window is part of the Modbus devices settings. Please consult the [[mycnc:​modbus_setup|Modbus Setup]] article for a full overview of the options available.
 +
 +The following options are available for the mapping devices:
 +  * ET10 encoder inputs
 +  * Modbus/Reg Inputs expansion
 +  * Modbus/Reg Outputs expansion
 +  * Modbus/Coil Inputs expansion
 +  * Modbus/Coil Outputs expansion
 +  * ETxx Inputs
 +  * ETxx Outputs
 +  * Modbus Input Holding Registers x2
 +  * Modbus Input Holding Registers x4
 +  * Modbus Input Holding Registers x6
 +  * Modbus Input Holding Registers x8
  
 === ADC mapping === === ADC mapping ===
 {{:​mycnc:​config-adc-mapping-001.png}} {{:​mycnc:​config-adc-mapping-001.png}}
  
 +A full manual on the subject is available on the [[mycnc:​adc_mapping|ADC Mapping]] page.
 +
 +The following settings are available to the user:
 +  * Mapping Port #. Check the box next to the selected port that you will be using.
 +  * Source Type/​Number. This selects the counter number to which the sensor is connected. Refer to controller documentation for the correct counter number, as that depends on the controller version. ​
 +  * Destination Port Number. The destination port numbers begin from the next channel number after the real ADC channels present on the controller. ​
 +  * Inversion toggle. Inversion can be useful in cases when the value from the sensor needs to be increasing as the distance increases, and vice versa. This flips the behaviour from the sensor readouts. ​
 +
 +Please consult the full ADC Mapping manual for setup examples. ​
  
 ===Connections=== ===Connections===
-{{:​mycnc:​config-connections-inputs-001.png}}+{{:​mycnc:​config-060-connections-2.png}} 
 +The connection settings window allows the user to create a connection between some input and some output, effectively binding some input to some response from the controller. Such a setup is useful to create a connection between, for example, turning the dial on an encoder and a change in the feed rate. 
 +  
 +The connections tab outlines: 
 +  * the connection source (ADC, DAC, PWM, Input Pin, Input Port, Output Pin, Output Port, Encoder, Global variable, Item, XItem) 
 +  * source parameter 
 +  * connection destination 
 +  * destination parameter 
 +  * K values (ratio values) K and K0 
 + 
 +The connection source is chosen based on the input that the user has selected (potentiometer for ADC, Encoder, etc). The connection destination specifies the designated input for that parameter (the number of the ADC input port, the encoder number, etc). The destination can again be chosen from a list of possible options, however Item is the one used frequently in order to make some changes in the myCNC software after some input has been received by the controller. The destination parameter will then specify the particular output that the connection will have. The ratio value K specifies the conversion factor which will be used to convert the input (input multiplied by K), while K0 specifies the shift in input (field usually left to be blank). 
 + 
 +As part of the connection dialog setup, the [[mycnc:​rotary_encoder_connection_and_setup|Rotary encoder connection and setup]] manual goes in depth about the encoder settings and connection information. An abbreviated list of Items is available in the [[mycnc:​item_list|Common Items List]]. 
  
 ====Network==== ====Network====
Line 206: Line 252:
  
 ====Motion==== ====Motion====
- 
 Upon opening the Motion tab in Settings, you are presented with the following window: ​ Upon opening the Motion tab in Settings, you are presented with the following window: ​
  
Line 230: Line 275:
 ===Hardware PLC=== ===Hardware PLC===
 {{:​mycnc:​config-plc-001-hardware-plc.png}} {{:​mycnc:​config-plc-001-hardware-plc.png}}
- +This list presents the available hardware PLC macros, with the ability to add, delete and edit the individual macros as required. After editing the hardware PLC, remember to press the Build All, Save All and Send buttons for the changes to take effect
-This list presents the available hardware PLC macros, with the ability to add, delete and edit the individual macros as required. ​+
  
 ===Hardware PLC Templates=== ===Hardware PLC Templates===
Line 247: Line 291:
 ===Software PLC=== ===Software PLC===
 {{:​mycnc:​config-plc-005-software-plc.png}} {{:​mycnc:​config-plc-005-software-plc.png}}
-The Software PLC list consists of the PLC macros such as the Oil Change Counter and the Popup Handler which are done on the software side, rather than the hardware side. +The Software PLC list consists of the PLC macros such as the Oil Change Counter and the Popup Handler which are done on the software side, rather than the hardware side. These Software PLC commands typically consist of items which are less time-critical,​ but require a continuous timer (like the oil change counter), or items which are loaded once the software is started/​existed (__HANDLER_INIT and __HANDLER_EXIT).
  
 ====G-codes settings==== ====G-codes settings====
Line 288: Line 332:
   * **Ellipses interpolation** can be set to be by Lines or Arcs, depending on the usercase. ​   * **Ellipses interpolation** can be set to be by Lines or Arcs, depending on the usercase. ​
   * **Ellipse segments** specify the number of segments into which the ellipses will be split   * **Ellipse segments** specify the number of segments into which the ellipses will be split
-  * **DXF toolpath optimization** toggle allows the myCNC software to optimize cut time by choosing the closest next cut as the program is running. This setting is usually left ON, however in case that the file you are importing already has a specified toolpath it can be toggled OFF.+  * **DXF toolpath optimization** toggle allows the myCNC software to optimize cut time by choosing the closest next cut as the program is running. This setting is usually left ON, as it allows to create a valid toolpath for a simple Photoshop file etc, however in case that the file you are importing already has a specified toolpath it can be toggled OFF so that the toolpaths do not conflict.
   * **Contour direction** is useful on mill/plasma machines which care about the clockwise/​counter-clockwise direction with which the tool is cutting the material. It can be set to Original, CW, or CCW.   * **Contour direction** is useful on mill/plasma machines which care about the clockwise/​counter-clockwise direction with which the tool is cutting the material. It can be set to Original, CW, or CCW.
   * **Spline segments** specifies the number of segments the splines are split into in order to create their linear approximation within the software.   * **Spline segments** specifies the number of segments the splines are split into in order to create their linear approximation within the software.
-  * Each particular technology can be toggled on/off depending on whether the user wants to see each particular tab on the Import screen. ​+  * Each particular technology can be toggled on/off depending on whether the user wants to see each particular tab on the Import screen ​(for example, only Knife/​Plasma/​Gas/​Engraving,​ etc)
  
 ====Macro List==== ====Macro List====
 {{:​mycnc:​config-001-macro-list.png}} {{:​mycnc:​config-001-macro-list.png}}
  
-The macro list consists of a list of macro commands ​mostly ​related to sensors and homing.+The macro list consists of a list of macro commands ​(for example, the macro commands ​related to sensors and homing, etc).
  
 ====Macro Wizard==== ====Macro Wizard====
 +The macro wizard allows the user to generate macros for actions such as homing and tool measure. The available macro generating windows are described below:
  
 ===Homing XYZABCUV=== ===Homing XYZABCUV===
 {{:​mycnc:​config-002-homing-xyz.png}} {{:​mycnc:​config-002-homing-xyz.png}}
 Homing settings are available for all the potential axes that are used by the myCNC software (X, Y, Z, A, B, C, U, V), as well as the XY-plane. ​ In order to set up homing, the following settings are available: Homing settings are available for all the potential axes that are used by the myCNC software (X, Y, Z, A, B, C, U, V), as well as the XY-plane. ​ In order to set up homing, the following settings are available:
-  ​* **Homing direction**. This is selected depending on where your sensor is located in relation to the working bit of the machine. If the machine will have to move in the negative x, y or z direction to find it, select -. If the machine will have to move in the positive x, y or z direction, select +.  + 
-  * Select your sensor number (depending on how you have connected it) and its type (normally opened or normally closed).  +  ​* **Homing direction**. This is selected depending on where your sensor is located in relation to the working bit of the machine. If the machine will have to move in the negative x, y or z direction to find it, select - (negative). If the machine will have to move in the positive x, y or z direction, select + (positive direction).  
-  * Choose your Limits behaviour in the Ignore Limits field. Set the checkmark ​to ON if the sensor you are using for homing is the same as the one you are using for your limits (most common case), and set it to OFF if you are using multiple sensors.  +  * Select your sensor number (depending on how you have connected it) and its type (normally opened or normally closed) ​which describes the behaviour when the sensor is NOT triggered.  
-  * The Soft Stop setting allows for a gradual stop after the sensor has been passed +  * Choose your Limits behaviour in the **Ignore Limits** field. Set the check mark to ON if the sensor you are using for homing is the same as the one you are using for your limits (most common case, as coming into contact with this sensor would trigger a limit indication to the machine), and set it to OFF if you are using multiple sensors.  
-  * The Distance to Home Sensor has to be set up to be slightly higher than the maximum length that the working piece will have to travel to find the homing sensor +  * The **Soft Stop** setting allows for a gradual stop after the sensor has been passed, allows for less mechanical impact on the machine which would otherwise be present during abrupt stops  
-  * Using the Gap setting, the user can add a gap between the sensor position and the new software Home position. The Gap Speed will describe the speed with which the machine moves between the sensor and the gap end +  * The **Distance to Home Sensor** has to be set up to be slightly higher than the maximum length that the working piece will have to travel to find the homing sensor 
-  * Speed field specifies the speed at which the machine is moving during its initial movement towards the sensor. After the machine triggers the sensor, it starts to move back in order to find the precise spot at which the sensor has been triggered, at the Slow Speed. +  * Using the **Gap** setting, the user can add a gap between the sensor position and the new software Home position. The Gap Speed will describe the speed with which the machine moves between the sensor and the gap end 
-  * Position After Homing field specifies the value assigned to the position after the homing.+  ​* **Speed** field specifies the speed at which the machine is moving during its initial movement towards the sensor. After the machine triggers the sensor, it starts to move back in order to find the precise spot at which the sensor has been triggered, at the **Slow Speed** (which allows for more precision)
 +  ​* **Position After Homing** field specifies the value assigned to the position after the homing ​(typically left to be at 0) 
 +  * **Reset work position** toggle specifies whether the user wants to reset the work position or not after the homing has been complete. This is typically left ON.  
 +  * **Macro filename** should be left at its default name unless strictly necessary 
 +  *  **Macro header** and **macro footer** allow the user to input some text, or some other macro, at the beginning and at the end of the main body of the homing macro.
  
 For a full guide on homing, please consult the [[quickstart:​mycnc-quick-start:​homing_setup|QuickStart Homing Manual]]. For a full guide on homing, please consult the [[quickstart:​mycnc-quick-start:​homing_setup|QuickStart Homing Manual]].
Line 316: Line 365:
 ===Gantry Alignment=== ===Gantry Alignment===
 {{:​mycnc:​config-003-gantry-alignment.png}} {{:​mycnc:​config-003-gantry-alignment.png}}
 +
 +The gantry alignment macro allows the user to generate a macro for dual motor gantry alignment. Several methods of gantry alignment can be used. By default, the method with two side sensors to move both motors will be set through this config window, however, more methods which can be set up through PLC can be found in the full [[mycnc:​gantry_alignment_macro_wizard|Gantry Alignment]] manual.
 +
 +The following settings are available in the default alignment method: ​
 +  * **Axis**: the particular axis for which the gantry alignment macro will be generated.
 +  * **Direction**,​ + or -. This is the direction into which the machine will be moving during the alignment procedure (in this case, it will be the negative y direction).
 +  * **Sensor numbers** which are used for the alignment procedure and whether they are normally opened or closed. This default behaviour should be checked through the Diagnostics window, as it can be inverted in Hardware > Common Hardware Settings. ​
 +  * **Encoder Z signals**, if those are used (typically left to be OFF). 
 +  * **Ignore Limits while aligning** flag. Sometimes the sensors used for aligning are the same sensors as would be typically used for a limit signal when the machine reaches its limits. In order to prevent them functioning as the limit sensors (and therefore aborting the entire procedure as they will be triggered) during the gantry alignment process, the check mark can be set to ON. 
 +  * **Align while move** - can be set to be Forward or Backward. The Forward configuration works as follows: One side reaches the sensor, and the motor for that side stops, while the other side's motor continues forward until the opposite sensor is reached, then stops as well. This method is not ideal as the first initial stop is done at a high speed as the machine suddenly comes into contact with the sensor. The other method is to go Backwards, by triggering one sensor, passing that sensor on one side, then reaching the sensor on the other, and afterwards aligning the system by using the first initial sensor. This method is preferable as the alignment process is done at a lower speed, however it is not feasible if the sensors are set up right near the edge of the table, preventing the machine from moving past them (in that case, the Forward setting should be used). ​
 +  * **Final tuning** allows to set the distance to move the machine if the user knows that the sensors are not set to be perfectly, but one is misaligned by a certain small distance. This small distance should be inputted into the final tuning field.  ​
 +  * **Double check** - this allows for a greater precision alignment when using the Forward setting, by moving back after hitting both sensors and then forward again at a slower speed. This feature is currently under development,​ and can be set manually in the generated PLC by adding relevant PLC code for a double check movement at a lower speed.
 +  * **Move distance** specifies the maximum movement distance that can be travelled during the alignment process (set for safety reasons if the machine never locates the sensors)
 +  * **Gap** is the distance that the machine will move out from the sensors after the alignment
 +  * **Speed** specifies the motion speed towards the sensors (slower is typically better as it allows for higher precision)
 +  * **Slow speed** is used on the Backwards method (not used on the Forwards method), and is employed as the machine is moving backwards after having initially triggered both sensors. This speed is set to be slower to allow for greater precision as the sensors are triggered again (released).
 +  * **Reset work position after align** allows the work position to be set to the alignment position after the procedure has been completed.
 +  * **Macro filename** is set to M132 by default. ​
  
 ===Back to Path=== ===Back to Path===
 {{:​mycnc:​config-004-back-to-path.png}} {{:​mycnc:​config-004-back-to-path.png}}
 +
 +This window generates the back-to-path macro which will later be used to go back to the working path when the machine is stopped/​started back up again. Typically, the back to path settings are used by plasma machines, while the Start/Stop On Start are used by mill machines, despite the similarities for the both processes. The following settings are available: ​
 +
 +  * **Lift**: Lift can be chosen between Lift to Top, which goes as high as the machine allows, incremental lift to raise the working tool by a certain vertical distance from the working position, absolute lift to raise the tool to a set height, or no lift to leave it as-is. The absolute/​incremental values can be edited in the field below if their respective check marks are flagged. ​
 +  * **Back to Path moves** specify the particular movement order to be used. It is possible to move back in two moves, only moving in the select axes for each particular one. For example, the user can set the first move to bring back the XY axes, while the second move will bring the working tool down in the z-axis. Typically, on plasma machines, only the XY-axes are selected as the nozzle will have to be brought down to generate the initial spark anyway and is done separately. ​
 +  * **Move down gap** specifies the gap that will be left after the tool has been brought back down. If the value is left blank, the tool will be brought down all the way to the initial stopping position. ​
 +  * **Move down speed** specifies, if so required, a speed with which the working tool will move back to the working path. 
 +  * **Header/​footer** allow to insert other PLC commands before/​after the main body of the back-to-path macro. Multiple macro commands should be separated with semicolons. ​
 +  * **Macro filename** is typically left to be M990. 
  
 ===Surface Measure=== ===Surface Measure===
 {{:​mycnc:​config-005-surface-measure.png}} {{:​mycnc:​config-005-surface-measure.png}}
 +
 +The surface measure config window allows the user to generate a macro which will be then used to check the zero value for the z axis. This is useful when using a sensor on top of a sheet(s) of working material. The following settings are available for macro generation:
 +
 +  * **Sensor width**. The sensor width/​height is specified here, using a negative value. For example, if the sensor width/​height is 1 mm, then the value will be equal to -1. 
 +  * **Sensor number** - specifies the sensor used for the surface measure procedure. ​
 +  * **Sensor type** - normally closed or normally open. Check the default behaviour in the Diagnostics window. The default behaviour can be inverted in Hardware > Common Hardware Settings. ​
 +  * **Length to move** - specifies the maximum distance the machine will move (usually done for safety reasons), should be set to be equal or slightly larger than the distance from the top of the machine to the sensor. ​
 +  * **Speed (move down)** - specifies the speed with which the machine is initially coming down until it touches the sensor
 +  * **Speed Slow** - the slower speed on the return (used on the Backward sensing direction)
 +  * **Speed (move up)** - specifies a speed with which the machine will be moving after it is coming up after coming in contact with the sensor. This is typically a higher speed, as precision is not relevant here. 
 +  * **Move up to** specifies the position to move after the procedure has been complete. This can be the initial position, the safe height position (absolute for actual height value, incremental for height value relative to the sensor), or top position which makes the machine move as far up as it is allowed to. 
 +  * **Safe height** specifies the height at which the tool will not come into contact with any obstacles as it is moved around.
 +  * **Macro header** and **macro footer** allow the user to add additional PLC commands before or after the main body of the Surface Measure command. Separate multiple commands by a semicolon. ​
 +  * The **macro filename** is set to be M400 by default. ​
 +  * **Sensing direction** can be set to be forward or backward, similar to the gantry alignment setup. The forward will cause the machine to continue moving until it hits the sensor, and then it will stop. The backward method is more precise, as it will move past the sensor when the sensor is initially triggered, and then will move back with a slower speed recording when the sensor is released (this allows for higher precision). This method is useful with button-type sensors. ​
 +  * It is possible to **ignore shock sensor** data if the sensors used for the surface measure are the same as the one used for shock analysis. Set the checkmark to ON to ignore the shock sensor signals that would otherwise conflict with the surface measure sensor data.
 +  * **Count sheet thickness** setting allows to add the sheet thickness, specified in Global Variable #5496, to the sensor thickness. This effectively zeroes the z-coordinate at the bottom of the working material sheet, rather than at the top, and is left to the user to decide. Typically, as most recent profile releases do not provide a direct way to edit GVar #5496, this setting is usually set to OFF. 
 +
 +The macro generated during the surface measure setup includes the M89 command which will check if the sensor has been triggered and will then subsequently lift the probing tool up. However, this macro will not trigger if the sensor has already been pressed before running the command (for example, if the operator has set the probe too low and the sensor was already pressed, the spindle will just keep moving downwards resulting in a broken tool). In order to prevent this, the M286 macro has been added in the more recent software versions. The macro checks whether the sensor is triggered before starting to bring down the probe tool, and if the sensor has indeed been triggered already, lifts the tool up in increments of 1 mm. This continues until the tool is no longer touching the sensor, after which the surface measure procedure continues as normal. The M286 macro is generated automatically and should not be edited unless necessary. ​
  
 ===Tool Length Measure=== ===Tool Length Measure===
 {{:​mycnc:​config-006-tool-length-measure.png}} {{:​mycnc:​config-006-tool-length-measure.png}}
 +
 +Tool length measure macro allows the user to record the precise tool length. The following settings are available: ​
 +  * **Fake procedure** allows to forego the actual measurement if the user does not have a tool length measuring sensor. This fake procedure effectively allows the user to measure the tool length manually, bringing the machine to an approximate distance that is roughly equal to the tool length. The macro generated will move the machine at a very low speed, and the sensor should be typically set to Normally Closed in order to immediately stop the procedure (the macro will move the machine a very small distance, until the Normally Closed sensor indicates to the machine that the process should be aborted, then the manually set distance will be used as the tool length). ​
 +  * **Speed XY** to specify the speed in the xy-axes
 +  * **Speed Z** to specify the initial speed with which the machine moves downwards. This is used if the Fast Lowering setting is set for a certain distance in the Tool Specifications window from the main screen of the myCNC software (parameter #20).
 +{{:​mycnc:​config-064-gvar20.png}}
 +  * Slow speed is specified for the downwards speed when the Fast Lowering setting is OFF or over (when the fast lowering distance has already been cleared). ​
 +  * The axes for which the tool comes back to initial position can be specified (for example, only the z-axis height can be used to bring the sensor back up, but there might be no need to move it to the same xy-position,​ etc).
 +  * Tool length sensor position on the table is noted in machine coordinates (z is typically a negative value). ​
 +  * The sensor number and type should be set to the sensor port and normally opened/​closed.
 +  * Fast Lowering allows to move the machine down faster during the initial stage before it comes into contact with the tool length sensor. Useful for machines with a large z-axis distance as it allows to speed up the process considerably if the tool is brought down for the entire height of the machine.  ​
 +  * The macro header and macro footer allow to input additional commands before/​after the main body of the current macro.
 +  * The macro filename is set to M421 by default. ​
  
 ===Tool Change=== ===Tool Change===
 {{:​mycnc:​config-007-tool-change.png}} {{:​mycnc:​config-007-tool-change.png}}
 +
 +The tool change config window allows the users to set up a macro for a tool change procedure. The following settings are available: ​
 +
 +  * ATC (automatic tool changer) type. The automatic tool changer type can be set to be Linear, Rotary (DC motor) or Rotary (Stepper/​Servo motor).
 +  * Number of tools in the ATC
 +  * Manual tool change for the rest of the tools specifies if there will be manual tool changes for tools outside the specified range. This way, more tools can be added to the program G-code which will require outside confirmation after change (for example, tool #10 can be specified in the G-code while only 5 tools have been inputted in the field above). Both loading and unloading unknown tools is supported for the manual tool change, and will require external confirmation that the manual tool change process has been completed properly. ​
 +  * Unload offsets for the X, Y and Z axes specify the particular positions for the load/unload offsets. It is typically set to be some z-axis distance for round tools (as the tool changer will come to clamp them from above, coming directly downwards), and some x/y and z distance for a fork-like setup so that the ATC can move in properly and grab the tool. The movement sequence is reversed for loading/​unloading (moving horizontally/​vertically will be flipped to allow to both clamp and release the tools depending on the movement sequence).
 +  * Slow speeds for the XY and Z axes are used while loading/​unloading the tools after beginning to travel from the offsets. ​
 +  * Release tool command sequence allows to input some macro for the release sequence after the ATC has been set in place using the offsets
 +  * Clamp tool command sequence allows to input some clamp macro after the ATC has been set in place. These depend on the particular setups and actions needed to clamp/​release the tool, and vary from user to user. 
 +  * Macro header and macro footer add command macros (as well as text/​headings as needed) before and after the main body of the Tool Change macro. ​
 +  * Macro filename which is usually set to be M6. 
  
 ====Probing Wizard==== ====Probing Wizard====
 +
 +The probing wizard deals with the probe setup process. To learn more about the probe setup, please consult the QuickStart [[quickstart:​mycnc-quick-start:​probe_setup|Setting up the probe tool]] manual. ​
  
 ===Probing Config=== ===Probing Config===
 {{:​mycnc:​config-008-probing-config.png}} {{:​mycnc:​config-008-probing-config.png}}
 +
 +The probing config outlines the following settings:
 +  * Edge correction for positive and negative X and Y directions. This allows for software-side fine tuning if the sensor ball or the sensor rod are misaligned (this is determined experimentally).  ​
 +  * Ball diameter and center correction for correcting a difference between a perfect ball center and the actual imperfect physical sensor (if the ball is not perfectly round and is rather of a slightly oval shape). The values for the correction are typically found experimentally by measuring the sensor ball with high-precision instruments. ​
 +  * Sensor number and type. This designates the particular port used for the probe sensor, as well as its behaviour when not being in contact with any surface. This default behaviour can be checked in the Diagnostics window, and inverted in the Hardware > Common Hardware Settings window if needed. Pressing Enable Probe sensor protection button after setting the particular port desired will automatically mirror these settings in the Inputs/​Outputs/​Sensors > Triggers/​Timers window.
  
 ===Probing Macro Wizard=== ===Probing Macro Wizard===
 {{:​mycnc:​config-009-probing-macro-wizard.png}} {{:​mycnc:​config-009-probing-macro-wizard.png}}
 +
 +The probing macro wizard allows the user to generate the relevant probing macro for each particular shape and setup. This wizard involves the macro header, the macro footer, the main() header for the automatically generated M288 macro, the necessary tool lift to safely move the probe over to the required location, and the available shapes for each of which a different macro can be generated (the macro names can be seen in the top line of each respective shape macro). These shapes allow to load in a macro preset for the particular case, and to easily edit the probing macros. ​
 +
 +The save config button located in this window will save each individual macro that has been selected. ​
 +
 +After clicking the Generate All Probing Macros and the Generate PLC probing procedure M288, the necessary popup windows for the probe sensor will also be generated automatically (popups 20, 21 and 22). 
 +
 +More information on using the probe can be found in the QuickStart [[quickstart:​mycnc-quick-start:​probe_setup|Setting up the probe tool]] manual.
  
 ==== Preferences ==== ==== Preferences ====
Line 345: Line 480:
 {{:​mycnc:​config-preferences-common-007.jpg}} {{:​mycnc:​config-preferences-common-007.jpg}}
  
-  * **Character Encoding** - myCNC software uses Unicode Text encoding system. If input g-code files contain symbols encoded in other Encoding system, this system should be set in  **Character Encoding.** combobox to show local symbols correctly in myCNC software +  * **Character Encoding** - myCNC software uses Unicode Text encoding system. If input G-code files contain symbols encoded in other Encoding system, this system should be set in  **Character Encoding.** combobox ​allows ​to show local symbols correctly in the myCNC software 
-  * **NC code folders** - In **File Open Dialog** and **DXF Import Dialog**, the myCNC software will search for nc-files in folders provided in this field. For example, if the NC code folders are set as "​~/​DNC"​ and "/​media",​ then only these folders will be available to open g-codes or dxf files. +  * **NC code folders** - In **File Open Dialog** and **DXF Import Dialog**, the myCNC software will search for nc-files in the folders provided in this field. For example, if the NC code folders are set as "​~/​DNC"​ and "/​media",​ then only these folders will be available to open G-code or DXF files through their respective windows
-  * **NC code network folders** specify the network folders that the myCNC software will access to look for nc-files. The folder that myCNC will access will also be mirrored to one specified in the next field, Network Mirror Folder, to prevent issues in case of a poor network connection.  +  * **NC code network folders** specify the network folders that the myCNC software will access to look for nc-files. The folder that myCNC will access will also be mirrored ​(downloaded) ​to one specified in the next field, Network Mirror Folder, to prevent issues in case of a poor network connection.  
-  * **Lib storage folder** specifies the folder in which the library parts are stored on the computer. +  * **Lib storage folder** specifies the folder in which the library parts are stored on the computer. This should not be changed unless strictly necessary, as some libraries in the more recent software versions have the lib folder hard-coded.  
-  * **NC code filename extensions** ​list the possible extensions that the software will allow the user to open. If an extension is not on the list, it can be added provided it can be read by the myCNC software.  +  * **NC code filename extensions** ​lists the possible extensions that the software will allow the user to open. If an extension is not on the list, it can be added provided it can be read by the myCNC software.  
-  * **G04 cycle time** marks the internal controller setting for time marking in order to properly synchronize the controller and the computer. +  * **G04 cycle time** marks the internal controller setting for time marking in order to properly synchronize the controller and the computer. It should be set to 0.004 by default, 0.008 is another setting that is valid on some controllers.  
-  * The **Disable keyboard Events** setting allows to completely disable keyboard inputs, leaving only the touchscreen. +  * The **Disable keyboard Events** setting allows to completely disable keyboard inputs, leaving only the touchscreen ​for the user to operate
-  * The basic machine profile can be specified to be Mill/​Router,​ Lathe, Cutting Table, or 3D Cutting Table, depending on the user's needs+  * The basic machine profile can be specified to be Mill/​Router,​ Lathe, Cutting Table, or 3D Cutting Table, depending on the user's needs.
   * The **Forced Homing at Start** and the **Forced Emergency Homing** settings are used only in older versions of the software and will be deprecated in the upcoming myCNC software versions. The functions of these settings have been replaced by the HOMING_HANDLER from Software PLC.   * The **Forced Homing at Start** and the **Forced Emergency Homing** settings are used only in older versions of the software and will be deprecated in the upcoming myCNC software versions. The functions of these settings have been replaced by the HOMING_HANDLER from Software PLC.
   * **Reload nc-file if NC-RESET pressed** toggles whether the full file is reloaded upon pressing the Return to Top button on the main software screen. The toggle is left ON by default. ​   * **Reload nc-file if NC-RESET pressed** toggles whether the full file is reloaded upon pressing the Return to Top button on the main software screen. The toggle is left ON by default. ​
   * **Reset tool number** setting allows the user to reset the tool number after the controller has been turned off and on again. This is an experimental feature for only certain setups, and is not recommended by default.   * **Reset tool number** setting allows the user to reset the tool number after the controller has been turned off and on again. This is an experimental feature for only certain setups, and is not recommended by default.
-  * **Block all jogging if any servodriver is faulty** allows the machine to stop all movement if any of the motors indicates issues. Not recommended by default, since the user might still need to lift the part up using the z-axis motor even if both the x- and the y-axes motors fail. +  * **Block all jogging if any servodriver is faulty** allows the machine to stop all movement if any of the motors indicates issues. Not recommended by default, since the user might still need to lift the part up using the z-axis motor even if both the x- and the y-axes motors fail while this setting would freeze all jogging regardless of which motor has reported issues
   * **Read program first block size** sets the size of the block of code that the computer will read at a time. This setting is not edited on most recent machines, and is kept at around 2000. If using an older host computer, this block size can be reduced.   * **Read program first block size** sets the size of the block of code that the computer will read at a time. This setting is not edited on most recent machines, and is kept at around 2000. If using an older host computer, this block size can be reduced.
   * **Forced tool radius compensation** - by default, the computer checks the first block of code with the size specified in the field above, and then tries to locate tool radius compensation commands in that first block of code. If it has not located tool radius compensation,​ the computer will assume that the entire program is free of tool radius compensation,​ and will proceed without account for it, saving time. If, however, the user is aware that there is tool compensation at some point in the program that is further than the first code block size, the toggle for Forced Tool Radius Compensation can be turned ON. This will force the machine to account for tool radius compensation,​ however this will also significantly slow down the cutting process.   * **Forced tool radius compensation** - by default, the computer checks the first block of code with the size specified in the field above, and then tries to locate tool radius compensation commands in that first block of code. If it has not located tool radius compensation,​ the computer will assume that the entire program is free of tool radius compensation,​ and will proceed without account for it, saving time. If, however, the user is aware that there is tool compensation at some point in the program that is further than the first code block size, the toggle for Forced Tool Radius Compensation can be turned ON. This will force the machine to account for tool radius compensation,​ however this will also significantly slow down the cutting process.
-  * **Stop Step Jog if button released** toggles the behaviour of the buttons which control the step jog. With the toggle OFF, every press will make the machine move, while with the toggle ON, the user will have to keep pressing the button until the movement has completed for additional safety.+  * **Stop Step Jog if button released** toggles the behaviour of the buttons which control the step jog. With the toggle OFF, every press will make the machine move by a certain set distance, while with the toggle ON, the user will have to keep pressing the button until the movement has completed for additional safety.
   * **SSD Write Optimization** toggle controls the program utilizing cache instead of writing to disk. This is turned ON by default.   * **SSD Write Optimization** toggle controls the program utilizing cache instead of writing to disk. This is turned ON by default.
-  * **KSpingBox** settings specify the behaviour of the control buttons on the main software screen. These settings are usually left to be at their default values unless changes are necessary. ​+  * **KSpingBox** settings specify the behaviour of the control buttons on the main software screen ​(such as the overspeed buttons). These settings are usually left to be at their default values unless changes are necessary. ​
  
  
Line 368: Line 503:
 {{:​quickstart:​mycnc-quick-start:​start-stop-001-preferences-window.jpg}} {{:​quickstart:​mycnc-quick-start:​start-stop-001-preferences-window.jpg}}
  
-Consult the QuickStart [[quickstart:​mycnc-quick-start:​start-stop-setup|Start/​Stop Setup]] for a full overview of the Start/​Stop ​features.+The Start/Stop settings specify the behaviour of the machine as the start/stop commands are sent to it. Among other settings, this window allows to edit the back-to-path behaviour on mill machines through the On Start section. 
 + 
 +Consult the QuickStart [[quickstart:​mycnc-quick-start:​start-stop-setup|Start/​Stop Setup]] for a full overview of the available ​features.
  
 ===Shape Library Settings=== ===Shape Library Settings===
 {{:​mycnc:​config-010-shape-library-settings.png}} {{:​mycnc:​config-010-shape-library-settings.png}}
 +
 +The shape library settings allow the user to load in different modules designed for different machines and applications. In order to prevent clutter in the Shape Library, only the necessary shapes can be selected to be displayed. The following subcategories are available, with the particular G-code start commands that are used for each particular setup listed in the title of each category: ​
 +  * Gas-M20
 +  * Gas-tube-M20
 +  * Mill-M3
 +  * Plasma-M3
 +  * Plasma-M71
 +  * Plasma-tube-M3
 +  * Plasma-tube-M71
 +
 +The user can select/​deselect the necessary packages. ​
 +
 +NOTE: The shape library packages must be located in the lib folder. Trying to access the shape library from other folders, even with the correct filepath, can lead to issues with the Shape Library.
  
 ====Screen==== ====Screen====
 {{:​mycnc:​config-011-screen.png}} {{:​mycnc:​config-011-screen.png}}
 +
 +The screen settings allow the user to edit the appearance of myCNC software. The following settings can be edited:
 +  * **Language** can be switched by inputting the corresponding two-letter acronym (**en** for English, **ru** for Russian, **es** for Spanish, **pl** for Polish). More languages will be added to myCNC software in the near future. If a native speaker desires to aid the localization process, the myCNC team will provide the user with the myCNC translation .xls file 
 +  * **Theme** can be switched by specifying the path to the folder containing all the images for a given theme. This folder should be located in opt/​myCNC/​art/​buttons-no-theme.
 +  * **Buttons skin** field specifies the folder from which the icon frames are taken. This folder should be located in myCNC/​art/​buttons-no-theme/​THEMENAME and the field is using the **rect** folder by default. Read more about **themes** and **button skins** [[mycnc:​mycnc_configuration_dialogs:​theme|here]]
 +  * **Style** can be specified via a [name].style (x.style by default) file which can be found in .config/​myCNC/​profiles/​PROFILENAME. Note that the stylesheet should only be changed when strictly necessary as it allows to edit the entire myCNC layout throughout the application. More information about the styling used in the x.style sheet can be found at the [[https://​doc.qt.io/​qt-5/​stylesheet.html|Qt Style Sheet Wiki]]
 +  * **Full screen** toggle to make the myCNC application full screen
 +  * **Maximize screen** toggle to make the application take up the full screen, with the window buttons (close/​minimize) still present
 +  * **Fixed screen size** to give the window a pre-set size. Note: this does not work with the maximize/​fullscreen modes.
 +  * **Hide Left Tabbar** to hide the older version of the navigation window (ON by default in all the newer 1366 profile versions)
 +  * **Hide cursor** allows the users with a touchscreen setup to hide the window cursor
 +  * **2D visualization:​ AutoScroll** is useful for large plasma machine configurations,​ where the user wants to take a closer look at the visualization of the cut with the window automatically following the cutting indicator. OFF by default.
 +  * **2D visualization:​ Unfold A axis** is used when pipe cutting files need to be unfolded (usually due to the specifics of the CAM program used when creating the original file). OFF by default.
 +  * **2D visualization:​ Rotate** rotates the file visualization 90 degrees off its original layout. OFF by default.
 +  * **Linear axes** can be displayed in mm or inches. This is done for visualization purposes, and does not impact the actual measurements of the original file.
 +  * **Rotary axes** can be displayed in degrees, radians or gradians. This is done for visualization purposes, and does not impact the actual measurements of the original file.
 +  * **MDI widget configuration** allows the user to edit the on-screen input field/​keyboard. The following settings can be edited.
 +    * Width and length of the on-screen widget.
 +    * Virtual keyboard can be enabled or disabled ​
 +    * The closing behaviour can be edited to close on Enter press
 +    * Widget position can either be chosen to be in a custom location, or centered.
 +  * **Pendant widget configuration** allows the user to edit the pendant widget (currently present on the 1280 profile series). The following settings are available:
 +    * Pendant view 
 +    * Widget size, in px
 +    * Buttons present in the widget (axes, jog buttons, +/- buttons, pendant step buttons)
  
 ===Colors=== ===Colors===
 {{:​mycnc:​config-012-colors.png}} {{:​mycnc:​config-012-colors.png}}
 +
 +The colours config window allows the user to customize the visuals of the myCNC application. In this window, presets such as the dark grey and the dark blue themes can be preloaded, or customized completely from the ground up. When the user is satisfied with their particular theme, they can export it by using the Export Colors to File button. ​
 +
 +===Visualisation Colors===
 +
 +{{:​mycnc:​config-072-visualisation-colors.png}}
 +
 +The visualisation color settings allow the user to specify the colors that will be used in the program visualization for each of the tools in the program code. This allows the user to set each tool to an easily distinguishable color:
 +
 +{{:​mycnc:​2019-08-26-colours.png}}
 +
 +  * Tool Number specifies the particular tool assigned to the color
 +  * Width specifies the 2D width line, alpha specifies the 3D opacity (0 for transparent,​ 255 for opaque). ​
 +  * Highlights are currently supported for 2D profiles only (such as plasma), and allow the user to highlight a certain tool path by clicking upon it. 
  
 ===Popup Messages=== ===Popup Messages===
 {{:​mycnc:​config-013-popup-messages.png}} {{:​mycnc:​config-013-popup-messages.png}}
 +
 +This section deals with the popup messages that the myCNC software presents to the user when an event requiring attention occurs. The following settings are available:
 +
 +  * Popup Message Number
 +  * Position (X&Y) on the screen
 +  * Size of the popup window (in pixels)
 +  * Header (title) of the popup message
 +  * Header size and font size
 +  * Message (body) of the popup window which allows to present additional information to the user
 +  * Message size and font size
 +  * Footer of the popup message
 +  * Footer size and font size
 +  * Button image (specify the file location)
 +  * Button size
 +  * Button action to run a specific macro when the button is clicked
 +  * Timeout to hide the popup window (in seconds)
 +  * Variable number to display (usually in footer, through [%d]) - useful to display a changing variable, like time in seconds, etc.
 +  * Coefficient K to multiply the variable by. Useful to convert tiny incremental changes (such as fractions of a second) or large rapidly changing numbers into numbers that can be easily read by the user. 
 +
 +For an example on popup messages, please consult the [[plc:​how_to_add_mandatory_homing_after_emergency_button_and-or_servo_ready_alarm|How to add mandatory Homing after Emergency Button and-or Servo ready alarm]] manual. ​
  
 ===3D Visualization=== ​ ===3D Visualization=== ​
 {{:​mycnc:​config-014-3d-visualisation.png}} {{:​mycnc:​config-014-3d-visualisation.png}}
 +
 +3D Visualization deals with the visualization window on the main screen of the myCNC program. It allows to visualize the incoming G-code commands to easily present to the user the current layout and work tool position. The following settings are available: ​
 +
 +  * Disable Visualization toggle
 +  * Tuning allows for fine visualization adjustments in large files. When a program file contains a large number of overlapping lines, the fine detail can be drowned out, so setting the tuning parameter lower than 1 will reduce the line brightness, allowing for a clearer picture. Below is an example of a large program (2 million lines) and its visualization at tuning 1 and tuning 0.2. As can be seen, the tuning 0.2 is a lot clearer on large programs, while on smaller programs the same setting would make it hard to see the individual lines:
 +{{:​mycnc:​config-067-visualization-tuning.png}}
 +  * Visualization by Dots/Lines. Lines are set by default, and dots should not currently be used as it is a test option. ​
 +  * Touchscreen sensitivity for panning. It is often needed to hold the touchscreen edges in order to pan the image, however while holding the touchscreen the image might jitter, causing the pan to stop. In order to ignore small finger movements, bring the Touchscreen Sensitivity value up. 
 +  * Cursor size ratio sets the particular size for the cursor (easier to visualize if the screen is located at a distance from the user)
 +  * Zeros size ratio (sets the zeroes position marker to be smaller/​larger)
 +  * Default viewpoint (typically set to be at 0, 0, 0) - can be set at an angle that will be showing the part by default such as 45, 45, 9
 +  * Background Color RGBA
 +  * Foreground Color RGBA
 +  * Foreground Color (G0) RGBA
 +  * Disable Cursor toggle
 +  * Dimension lines toggle turns the overall dimensions lines around the part on/off
 +  * Show extent toggle will show/hide a box around the part which shows the physical limits of the part's extent
 +  * Lathe visualization toggle allows for a visual representation of a lathe part, including the cutting lines and the part itself
 +{{:​mycnc:​config-068-lathe-visualization.png}}
 +  * Render time limit. On slower machines, such as TinkerBoard computers, it is often recommended to set a low time limit (2-5 seconds) to not overwhelm the system. The program will still run despite the visualization not being loaded all the way through. ​
 +
 +Below this, the Visualization setup window allows the user to edit visualization settings for each particular axis. The following settings are available: ​
 +  * Enable toggles for each axis
 +  * Show as - the axes are typically set to be visualized directly as their real counterparts (x as X', etc). 
 +  * Direction (+/-, CW/CCW)
 +  * Tilt toggle for the a, b and c axes. These specify whether the abc axes are used as tilt axes (typically on a tangential knife setup, not on profiles like Mill, etc). 
  
 ====Work offsets==== ====Work offsets====
 {{:​mycnc:​config-015-work-offsets.png}} {{:​mycnc:​config-015-work-offsets.png}}
 +
 +The work offsets list specifies the offsets for each coordinate system (G54 to G59.3). The home positions for G28 and G30 are also specified in this window, allowing the user to set a preferred home position. These offsets can be set for any axis (XYZABCUV), and are specified in mm.
 +
 +NOTE: The G28/G30 home positions MUST be set correctly if G28/G30 codes are used in the control program. Failing to set them correctly will lead to the control program stopping at the G28/G30 line and not moving forward in the code as an internal error message will be presented to the program.
  
 ====Parking coordinates==== ====Parking coordinates====
 {{:​mycnc:​config-016-parking-coordinates.png}} {{:​mycnc:​config-016-parking-coordinates.png}}
 +
 +The parking coordinates specify the preset parking positions that are saved in the myCNC software for future use. The user can set up to ten parking positions for their convenience,​ by specifying the X, Y and Z coordinates. The current parking position and the current parking number is also kept in this window. ​
  
 ====Technology==== ====Technology====
Line 397: Line 638:
 ==Plasma Settings== ==Plasma Settings==
 {{:​mycnc:​config-017-plasma-settings.png}} {{:​mycnc:​config-017-plasma-settings.png}}
 +{{:​mycnc:​config-054-plasma-settings-2.png}}
 +
 +The plasma settings screen allows the user to select the following:
 +  * Current control. Current control can be chosen between Control through DAC, PWM, Modbus or Hypertherm Serial Interface. These are all mutually exclusive - only one can be chosen at a time. 
 +     * Control through DAC is the option mostly used for simple plasma cutting machines. The DAC ratio allows the user to set the ratio to convert the value of the current.
 +     * Control through PWM is using the Pulse Width Modulation. It is a popular choice for current control on plasma machines. The PWM ratio allows the user to set the software ratio, similar to the DAC ratio.
 +     * Modbus control allows for electronic control of the current. More information on Modbus communication can be found in the [[mycnc:​modbus_setup|Modbus Setup]] manual. The following settings can be specified in this window:
 +       * Modbus Address to specify the address of the device the controller will be communicating with
 +       * The register that will be monitored
 +       * ON/OFF values
 +       * Modbus ratio for the current
 +       * The controller the power source is connected to. Usually, the power source is connected to the main controller, however, on large machines it is sometimes necessary to have a Slave Controller to perform the technology PLC commands. ​
 +     * Hypertherm Serial interface is similar to the Modbus control option. The user is able to specify where the interface is connected: the controller (default) or the host PC. The **Hypertherm Communication** and **Hypertherm Diagnostics** pages are used if the Hypertherm Serial Interface is chosen for current control.
 +  * Process current (amps) which specifies the current for the machine
 +  * Kerf compensation method. Kerf compensation can either be done using a standard mill technique for tool radius compensation,​ or through a dedicated kerf compensation method made specifically for plasma cutting machines. The dedicated plasma method is on by default, and is labelled as Method 1, while the traditional mill machine method is labelled as Method 2. Below is the comparison of the two compensation methods:
 +{{:​mycnc:​config-057-kerf-3.png}}
 +
 +  * Auto Gas Console settings. myCNC software allows for gas control using the software PLC commands rather than through the machine. This setting is tailored to the specific customer. If you are interested in the Auto Gas Console settings tailored for your specific needs, please contact the myCNC team through the [[https://​www.pv-automation.com/​contacts|Contact Us page]].
  
 ==Hypertherm Communication== ==Hypertherm Communication==
 {{:​mycnc:​config-018-hypertherm-communication.png}} {{:​mycnc:​config-018-hypertherm-communication.png}}
 +
 +This page allows the operator to send test commands to the Hypertherm machine. The commands can be set to Remote, Hello, Wake, Sleep, Test the gas flow (preflow/​cutflow channels), or a custom command. ​
 +
 +The screen also allows the user to check the reply log from the Hypertherm machine to see if communication has been established/​if any errors are present. ​
  
 ==Hypertherm Diagnistics== ==Hypertherm Diagnistics==
 {{:​mycnc:​config-019-hypertherm-diagnostics.png}} {{:​mycnc:​config-019-hypertherm-diagnostics.png}}
 +
 +The diagnostics window is useful to see any immediate errors or problems present with the plasma machine setup, either through monitoring pressures, historical usage statistics, or temperature data. 
 +
 +The diagnostics window is used if the Hypertherm interface was chosen for current control. The window allow to check the power supply status for things like PWM/​choppers,​ the statistics for usage time and errors, the temperatures for the machine, the software revisions, gas types and pressures (auto or manual). The window also features a similar set of buttons to the Hypertherm Communication window to test the preflow and cutflow directly from the diagnostics panel (typically to find out the pressures for the plasma and shield gas flows). ​
  
 ===Gas/​Oxyfuel=== ===Gas/​Oxyfuel===
 {{:​mycnc:​config-020-gas-oxyfuel.png}} {{:​mycnc:​config-020-gas-oxyfuel.png}}
 +
 +The following settings are available in the gas/oxyfuel window:
 +  * **Enable** toggle to enable/​disable gas cutting
 +  * **Break heating variable number**. During the preheating process, while the metal is being heated up to its cutting temperature,​ the operator might decide that the heating process has gone on long enough and stop preheating/​start cutting. In order to do that, the operator will typically have a stop button or some sort of control through which the command to stop the preheat is sent to the controller (which would otherwise be using a timer to specify the preheat time, as can be seen in the PLC file). The //​break_heating//​ variable is used to stop this timed process and move to the next part of the cutting cycle. ​ This number is specified in the //vars.h// file which can be found in the PLC tab (var15 break_heating is typically used, although other variable numbers can be used on more complex machine setups). ​
  
 ===Cutcharts=== ===Cutcharts===
 {{:​mycnc:​config-021-cutcharts.png}} {{:​mycnc:​config-021-cutcharts.png}}
 +
 +The cutcharts settings window allows the user to edit the cutcharts window and the cutchart information which is often used in the plasma profiles. The following settings are available:
 +  * Show Cutcharts tab widget toggle. This is a legacy settings that is typically only used on the 1024P series profiles. The setting toggles the cutchart icon on and off so that it can be accessed from the main software screen from the left user panel. Not used on the recent 1366 series profiles. ​
 +{{:​mycnc:​config-063-cutcharts-1024profile.png}} ​
 +  * Cutcharts Database Filename. This will be the name of the database loaded into the myCNC system, and must be an .sqlite file. 
 +  * Torch Image height. The torch image height will define the height of the image field in the Cutcharts tab (Settings > Cutcharts). NOTE: A new cutcharts interface is currently under development to replace the Cutcharts tab in the Settings window.
 +  * **Show torch image load button**.The torch image can be toggled on/off in the Settings > Cutcharts tab. 
 +  * **Auto Delete cut process**. This settings allows the operator to delete current entries from the cutchart database directly from the myCNC software. ​
 +  * **Cutcharts technology**. This allows to chose between Plasma, Normal, Underwater, Bevel, Fine feature, HDi, Marker and Marker bevel. The star symbol (*) symbolizes all categories. ​
 +  * **Process**. The following can be chosen: Powemax, FineCut, FlexCut 125, Normal, Underwater, Bevel, Fine feature, HDi, Marker, Marker bevel, or MAXPRO200. The star symbol (*) symbolizes all categories. ​
 +  * **Cutcharts cutting type**. Not used in the more recent cutchart database versions, as it has been replaced by the Technology and Process filters. ​
 +  * **Cutcharts vendor** can be chosen between Hypertherm or Lincoln. ​
 +  * Torch type. Powermax105,​ FlexCut125, HPRXD and MAXPRO200 can be chosen.
 +  * Import buttons for XML and CSV cutcharts. This allows the user to import a cutchart in a different database format. ​
 +  * Filters for the cutcharts, which include Process, Material, Thickness, Current, Gases and Nozzle. These specify which categories the user will be able to filter the cutcharts by from the cutcharts window,​accessed from the main screen of myCNC software. ​
  
 ===THC=== ===THC===
 {{:​mycnc:​config-022-thc.png}} {{:​mycnc:​config-022-thc.png}}
  
 +This is part of the Torch Height Control Setup which is used on plasma machines. Please consult the [[thc:​thc|THC]] article for more information.
 + 
 ===Mill/​Lathe=== ===Mill/​Lathe===
  
 ==Spindle== ==Spindle==
 {{:​mycnc:​config-023-spindle.png}} {{:​mycnc:​config-023-spindle.png}}
 +{{:​mycnc:​config-058-spindle3.png}}
 +
 +  - **Spindle Speed, [rpm]** - A minimum and maximum range of the spindle, a step value (current spindle speed will be increased/​decreased by this value while pressing on-screen SpinBox **Default Spindle Speed**). Maximum spindle speed value is used to adjust 0-10V analog DAC output as well.
 +  - **Spindle Overspeed, [%]** - A minimum/​maximum range of Spindle Overspeed, a step value (current spindle overspeed will be increased/​decreased by this value while pressing optional on-screen SpinBox **Spindle Overspeed**). Both "​Default Spindle Speed" and "​Spindle Overspeed"​ can  be used to adjust spindle speed on-the-fly, however these are different parameters
 +    * **Default Spindle Speed** will be overwritten when the next **M3 Sxxxx** or **Sxxxx** code is run. For instance, if you change the spindle speed to 12000rpm, then when **M3 S8000** appears G-code, spindle speed will be changed to **8000 rpm**
 +    * If the **Spindle Overspeed, [%]** value is changed, it will be applied for next **Sxxxx** code as well. For instance, if the current spindle speed is 5000 rpm and you set the "​Spindle overspeed"​ to 120%, spindle speed will be increased up to 6000rpm (5000rpm*120%/​100%). Then when the **M3S8000** code appears in the G-code program, the spindle speed will be raised up to 9600rpm (8000rpm*120%/​100%)
 +  - **Encoder channel**. If feedback encoder is installed on the Spindle for threading, it might be configured in this field. Control boards ET5 and ET10 have 6 encoder inputs (with a hardware decoder), ET7 has 3 encoder inputs (hardware decoding as well). Encoder channel # should be configured here.
 +  - **Encoder pulses per revolution**. If Spindle Encoder feedback is used, the number of encoder pulses per spindle revolution should be set in this field.
 +  - **Voltage offset, units** - see below
 +  - **Voltage ratio, units** - these two parameters are used to adjust DAC output voltage. \\ \\ <​code>​These parameters are active in case RS485/​Modbus Communication is disabled</​code> ​ There is a 12bit register that is used for the DAC output. In theory, while writing values from 0 to 4095, the DAC output voltage is changed from 0 to 10V. A real maximum DAC voltage depends on the control board and can be 11-12V. However, while most of Spindle frequency inverters use 0-10V, there are many models on the market that use different voltage range for spindle speed control such as 0-5V, 1-6V, 0-6V. \\ \\ If spindle speed changes (for example, through the PLC procedures such as M03, M04, SPN) the control software sends the spindle speed value to the PLC commands in the **eparam** variable. The value is adjusted by the software by using the parameters **offset** and **ratio**. Eparam variable value can be calculated as  <​code>​eparam = Offset + 4095*(Spindle Speed)*Ratio/​(Max Spindle Speed)</​code> ​
 +    * If you don't need any adjustments,​ set the **Offset** to "​0"​ and the **Ratio** to "​1"​. ​
 +    * If you use a spindle inverter with 0-5V range for instance, then you might need to set the **Ratio** to "​0.5"​
 +    * For spindle range 1-6V you might need to set the **Offset** as well. Minimum voltage is "​1V",​ then **Offset** should be about 10% (1V of 10V) of 12bit range (4095), the **Offset** value is about "​410"​. \\ It's better to tune **Offset** and **Ratio** values by experimenting with the possible values with the real VFD unit connected to test for optimal results.
 +  - **RS485/​Modbus communication**. The checkbox enables communication with VFD through the RS485/​Modbus instead of analog control. You can learn more about Modbus in the [[mycnc:​modbus_setup|Modbus Setup]] manual.
 +  - **Spindle ratio (Modbus)**. If Modbus is enabled, the myCNC control software sends the RAW spindle speed value (in rpm) multiplied by **Spindle ratio (Modbus)** parameter value as an **eparam** variable to the PLC procedure . 
 +    * For instance, if the Spindle speed is 10000rpm and the **Speed ratio (modbus)** is "​1",​ then the eparam value will be "​10000"​ (exact spindle speed). ​
 +    * If the ratio variable is not enough to adjust Spindle speed register according to the VFD type requirements,​ this adjustment can be made in the PLC source.
 +  - **RS485 speed** - RS485 communication baud rate selector
 +  - **Connection** - RS485 connection configuration
 +    * 8 or 7 bits
 +    * No Parity, Odd or Even Parity
 +    * 1 or 2 stop bits
 +  - **Inverter Address** - up to 4 VFD can be connected through Modbus to arrange 4-spindle automatic polling. It needs to select the checkbox and set up Modbus ID for each VFD to enable VFD automatical polling ​
 +  - **Write Registers**. For automatical Modbus polling registers, there are usually 2 control registers for VFD. 
 +    * Frequency (Spindle Speed) is changed by writing to "​WR/​Frequency"​ register ​
 +    * Spindle control ON/OFF by writing some value to "​WR/​Operate"​ register. \\ Register addresses should be specified in these parameters
 +  - **Read Registers**. VFD might have some status/​diagnostic registers to read. The values may contain useful information such as the current power, current speed, temperature,​ errors, current status etc. You may select some register to perform automatic readings and to show the value in this window.  ​
 +  - "Write registers"​ and "Read registers"​ are different for different VFD manufacturers. We have pre-defined register addresses for the VFD inverters we tested. To set up register addresses, simply press the button with your particular VFD type.
 +
  
 ==Tools== ==Tools==
 {{:​mycnc:​config-024-tools.png}} {{:​mycnc:​config-024-tools.png}}
 +
 +The tools page allows to outline the specifications of existing tools such as their length, diameter and offset. The following settings are available: ​
 +
 +  * **Tool lift**, to specify safe travel distance for the tool. 
 +  * **Tool list**, which lists the available tool numbers separated by semicolons. ​
 +  * **Tool length** for the Z axis (vertical), in mm
 +  * **Tool Diameter**, in mm
 +  * **Tool Offsets** for the X, Y and C axes. The tool offsets are done relative to some base/main tool which is considered to be at a 0 offset for all axes, and the rest of the tool offsets are recorded in relation to that main 0-offset tool. 
  
 ==ATC Pots== ==ATC Pots==
 {{:​mycnc:​config-025-atc-pots.png}} {{:​mycnc:​config-025-atc-pots.png}}
 +
 +CURRENTLY UNDER DEVELOPMENT. This feature is designed for machines with long automated runs. The following settings are available:
 +
 +  * Tool number. A single tool number can be assigned to different pots, unlike in conventional machining. This way, separate pots can be used for storage of the same tool (or a tool with the same number which will later have its length measured).
 +  * Broken toggle. This toggle specifies whether the tool is broken based on the length measurement (if it is considerably lower than the original length measurement). ​
 +  * Last length stores the length measurement of the tool on the last length checkup
 +  * Working time. Working time and the broken toggle can be reset by using the Reset button next to it if the tools have been replaced with new ones.
 +  * Max time specifies the maximum working time until a tool will have to be replaced by another tool with the same number from the next pot.
 +  * Pot coordinates XYZ.
  
 ==Lathe== ==Lathe==
 {{:​mycnc:​config-026-lathe.png}} {{:​mycnc:​config-026-lathe.png}}
 +
 +The following settings are available for lathe machines:
 +  * Enabled/​disabled toggle. This toggle signifies whether ​ lathe-specific G-codes will be used (such as G70, etc). This setting has been largely taken over by the Basic Machine Profile setting in Preferences > Common
 +  * X position as diameter: the X position is typically inputted as a radius (if x=10, then the radius is 10). This setting exists for those users that would rather input x as diameter (x=10 means that the radius is 5).
 +  * Thread cutting depth infeed. The different types of infeed can be chosen here. 1 edge means that a single edge of the cutting tool is used to enter into the metal, while 2 edges means that both edges are used interchangeably in a crisscross pattern. The constant depth setting means that the tool will go into the metal by the same depth on every pass, while constant amount means that the same volume of metal will be removed every time (while depth will diminish as the tool goes deeper). NOTE: 2 edge configurations are currently under development and may pose some issues. Contact Support for more information.
 +  * 2 lines G76 describes the format in which G76 commands are written. If the setting is selected, two lines of code description will be required.
 +  * G96 CSS max speed specifies the maximum Constant Surface Speed that the machine is allowed to go up to. As the lathe will attempt to maintain constant speed while the working radius gets smaller, the speed will continuously increase. In order to prevent the machine from trying to increase the speed to infinity, a limit should be set. 
 +  * G96 CSS mode active selects when the Constant Surface Speed is activated. Normally, it is done only on G1/G2/G3 commands when the program is moving the working tool. However, it can also be set to All Motion in order to allow manual movements of the lathe'​s working tool to also trigger the Constant Surface Speed macro. ​
 +  * Tool number input format specifies the format the tool number is recorded in. The possible formats are XX, XXYY, and XXYYZZ. These different format can specify the tool length and correction values, and should be chosen depending on how the tool numbers are written in the code. Correction numbers can be different for the same instrument, depending on the particular tool usage required at that particular point in the code. 
 +  * Thread finishing distance % is used on the last thread turns, to specify by how much the final rotation should go around (for example, the last thread turn can be a 50% turn which would then taper into nothing).
 +  * Thread Acceleration Multiplier, to specify acceleration values on thread cutting ​
 +  * Tool list, listing the available tools
 +  * Tool specs table, listing the tool numbers, tool lengths in the x and z direction (negative values), x and z tool compensation,​ and tool tip radius. ​
  
 ===Multi Head=== ===Multi Head===
 {{:​mycnc:​config-027-multi-head.png}} {{:​mycnc:​config-027-multi-head.png}}
 +
 +Multi Head allows for multiple tool sets. Similar to the Tools window, in that it allows for tool offsets in X and Y axes. Overall, the following settings are available:
 +  * Tool number
 +  * Offset X, Y which are done relative to some zero position
 +  * Unlike the XY offsets, the Zero Z coordinate is not changed from this window, but rather through the tool length measure and surface measure procedures (to specify the offset in the z-axis).
  
 ===Laser Control=== ===Laser Control===
 {{:​mycnc:​config-028-laser-control.png}} {{:​mycnc:​config-028-laser-control.png}}
 +
 +Allows for fine laser control at different speeds. This allows to prevent overheating when approaching corners, etc. The following settings are available: ​
 +  * Enable/​disable toggle
 +  * Min/Max control values. This allows the user to set values from 0 to 99 percent of the total laser power. ​
 +  * Speed ranges for min/max values set the speeds range in which the laser power will be changed between the two values set above (everything below the min speed value will be at min control value, everything above the max speed value will be at max control value, and in the range in-between the two speed values there will be a linear transition between the two control values).
 +  * PWM channel to specify the channel designated for laser control
  
 ===Tangential Knife=== ===Tangential Knife===
 {{:​mycnc:​config-029-tangential-knife.png}} {{:​mycnc:​config-029-tangential-knife.png}}
 +
 +The following settings are available: ​
 +  * Knife Minimum degrees (1 and 2)
 +  * Knife Up programming (absolute/​incremental)
 +  * Knife initial angle (angle after homing)
 +  * Glass cutting extension toggle
 +  * Lift height ​
 +
 +The full manual for the knife setup and the knife behaviour can be found at [[quickstart:​mycnc-quick-start:​tangential-knife-setup|the QuickStart page for Tangential Knife Setup]]
  
 ===Special Purpose=== ===Special Purpose===
Line 440: Line 807:
 ==Flatbed correction== ==Flatbed correction==
 {{:​mycnc:​config-030-flatbed-correction.png}} {{:​mycnc:​config-030-flatbed-correction.png}}
 +
 +Flatbed correction allows the user to take into account an uneven working table. This is done by first measuring the table and then using the values to correct for what would otherwise be discrepancies in the z-axis. ​
 +
 +  * **Enable** toggle to enable/​disable flatbed correction
 +  * The table on this settings page presents a number of values in the XY-plane and their z-positions. These values can either be recorded by using the AutoMeasure procedure (recommended) or by using a sensor and recording each point individually by using the M402 macro (older versions).
 +  * Using the AutoMeasure procedure, the operator can set the reference z-height, the number of points at which the height measurements will be taken for the XY-plane, and the coordinates on which the measurements will be taken. The **Auto Measure Procedure** button can then be pressed to begin the probing process.
 +  * In order to use the M402 macro, move the sensor to the position you want to measure, then press the **Measure (M402) and Save** button. This will lower the sensor down until contact, then lift it back up and record the z-position at which the sensor was triggered. ​
 +  * In order to remove any of the table level discrepancy values, you can press the Delete button for each particular value.
 +
 +By adding these correction points, myCNC software will use triangulation in order to create a complete updated map of the working table. From here on, whenever Flatbed Correction is enabled, the machine will automatically adjust the z-axis height of the working tool in order to adjust for the table level changes depending on where in the XY-plane the machine is currently located.
  
 ==Height map== ==Height map==
 {{:​mycnc:​config-031-height-map.png}} {{:​mycnc:​config-031-height-map.png}}
 +
 +The height map window specifies the axes to log, the log header, the format string, and the file name for the map.
 +
 +The height map is typically utilized for the per-job height probing described in the [[mycnc:​height_mapping|3D Height Mapping manual]]. It is necessary to change the filepath to include the correct username for the machine (for example, /​home/​USERNAME/​heights.map) as opposed to the default username specified in myCNC software (sk/​mycnc/​etc). ​
 +
 +The height map file will be then saved as heights.map.raw file with an array of XYZ points stored in it to create a height map of the working surface through triangulation. ​
  
 ==3D Printer== ==3D Printer==
 {{:​mycnc:​config-032-3d-printer.png}} {{:​mycnc:​config-032-3d-printer.png}}
  
 +The 3D printer Config window monitors the two thermal sensors which measure ADC signals and convert them into temperature values in degrees. This is necessary as there is no direct way to display the ADC outputs in a meaningful way without first converting. ​
 +
 +Related to the 3D printing setup, the Axes/Motors Config window allows to set a motor for axis E (extrusion),​ which controls the rate at which the working material is being extruded, or the X+Y, X-Y motor axes. These are designed for 3D printer configurations where two motors are connected to the same working belt, which is then used to move the machine. The motors attached can therefore be used for both axes, depending on which combination of motor movements is used. 
 +
 +==Multi-Device==
 +{{:​mycnc:​config-069-multidevice-001.png}}
 +{{:​mycnc:​config-070-multidevice-002.png}}
 +
 +The multi-device window allows the user to set up master/​slave relationships between controllers,​ with one master and multiple slave devices. This is done by using their IP addresses and specifying there PLC procedures in the PLC Rom setting (available upon request). The Inputs window allows to use the input ports of the slave controllers as alarms or triggers. This is similar to the Inputs/​Outputs/​Sensors > I/O Expand cards mapping window, as it allows to use ports from other devices if the main (master) device needs to have its ports expanded. The Multi-Device window however allows for a much more extensive and complex setup, and should be used on machines which would otherwise be limited by the simpler I/O Expansion process. ​
 +
 +The Test and PID config tabs are special purpose only, and should not be used by regular users. ​
 +  ​
 ==MaxLaser== ==MaxLaser==
 {{:​mycnc:​config-033-maxlaser.png}} {{:​mycnc:​config-033-maxlaser.png}}
 +
 +MaxLaser allows for laser etching/​marking to be used in conjunction with plasma cutting, typically to be able to easily identify the parts that are being cut by recording their number, etc. The following settings are available:
 +  * Laser speed, in mm/min
 +  * Power, in percent
 +  * Laser frequency, in kHz
 +  * Scan value to specify how close together/​far apart individual etchings should be
 +  * Repeat value to go over the same line multiple times
 +  * Text outline toggle
 +  * Text fill toggle specifies whether the user wants to fill in the letters or leave an outline only. 
 +  * Font settings (font and size) - multiple fonts are supported
 +  * Line direction (horizontal/​vertical)
 +
 +The user is able to print sample text by using the Print Text buttons and inputting sample text into the Test Line field. ​
 +
 +An example of the MaxLaser technology being used by one of myCNC'​s customers (used in conjunction with a plasma cutting process in order to easily identify individual parts): {{youtube>​272pglpmjEs?​medium}}
  
 ==Circular Saw== ==Circular Saw==
 {{:​mycnc:​config-034-circular-saw.png}} {{:​mycnc:​config-034-circular-saw.png}}
 +
 +Special user case settings for a saw machine setup. Information available upon request, as the setup has been fine-tuned to a specific machine and may need extensive alteration for new customers. ​
  
 ==PWM PIDs== ==PWM PIDs==
 {{:​mycnc:​config-035-pwm-pids.png}} {{:​mycnc:​config-035-pwm-pids.png}}
 +
 +This settings window allows for PID control by using PWM and ADC ports to create a PID control loop. For example, PID control is used in the 3D printing setup for temperature sensor control. This window allows to edit the following values:
 +  * K0 (offset value for the ratio that will bring the curve up/down)
 +  * K (ratio value to multiply the result by)
 +  * P (proportional control ratio)
 +  * I (integral control ratio)
 +  * D (derivative control ratio)
 +  * Dead zone, which specifies a range in which inputs are outputted as a zero value
 +  * Control Min/Max
 +  * Sensor Offset
 +  * Sensor ratio (1/1024)
  
 ==Modbus servo== ==Modbus servo==
 {{:​mycnc:​config-036-modbus-servo.png}} {{:​mycnc:​config-036-modbus-servo.png}}
 +
 +Deprecated settings window, not used in the recent software versions. Has been replaced by full Modbus setups, information on which can be found in the [[mycnc:​modbus_setup|Modbus Setup]] manual.
  
 ==Exhaust/​Extraction control== ==Exhaust/​Extraction control==
 {{:​mycnc:​config-037-exhaust-extraction-control.png}} {{:​mycnc:​config-037-exhaust-extraction-control.png}}
 +
 +Exhaust control is done to allow for exhaust pipes on the machine to open depending on where the working tool currently is. The following settings are available:
 +  * Axis (X/Y/Z). Typically exhaust control is built for one axis, as it would be too complex for typical machines to create a 2- or 3-axes setup (only one row of exhaust pipes is normally used)
 +  * Min and max positions specify the minimum and maximum coordinates for the exhaust control (the coordinates from the specified axis that would turn ON a particular exhaust pipe). Therefore, it is necessary to add as many individual setting fields as there are exhaust pipes that need to be turned on/off.
 +  * Slot specifies the port that will be switched on/off. This can be a relay/PWM port/etc.
 +  * Inversion toggle to specify whether the exhaust should be turned on or off by default (while the working tool is not in the exhaust pipe coordinate range)
  
 ====Camera==== ====Camera====
 {{:​mycnc:​config-038-camera.png}} {{:​mycnc:​config-038-camera.png}}
  
-For a full overview of CNC Vision Camera setup, please consult the [[quickstart:​mycnc-quick-start:​cnc-vision-setup|QuickStart CNC Vision manual]].+The camera system allows to correct an imported DXF file if the working material has been stretched/​compressed/​rotated by using reference markers that have been calibrated using myCNC software. ​For a full overview of CNC Vision Camera setup, please consult the [[quickstart:​mycnc-quick-start:​cnc-vision-setup|QuickStart CNC Vision manual]].
  
 ====5 axes RTCP=== ====5 axes RTCP===
 {{:​mycnc:​config-039-5-axes-rtcp.png}} {{:​mycnc:​config-039-5-axes-rtcp.png}}
 +
 +This setting allows to set up the rotational tool center pointer for bevel cutting on 4/5 axes machines. RTCP allows to compensate for a rotation of the working tool (that would otherwise lift up due to moving from a 90 degree position to a 60 degree position, for example). The following settings are available: ​
 +  * Enabled/​disabled toggle
 +  * RTCP kinematics. 0 is off, 1 and 2 are the different correction options. As of version 1.88.3271 of the myCNC software, only options 0/2 should be used (1 will not work for a vast majority of setups). ​
 +  * Arm length. This specifies the arm length from the pivot point to the end of the working tool. Note that this does not specify the entire length of the moving part, but only the length from the pivot down (as this is the part that will be used in the angle calculation for the rotation compensation). ​
 +  * Inversion toggles for X, Y and Z axes that can be used to flip the positive/​negative directions for each of the axes used.
 +  * Test buttons for RTCP ON/OFF. This allows to quickly turn off the compensation when it is not necessary (for example, during homing, etc). 
 +  * RTCP Debug, which should only be used by service engineers when diagnosing an issue.
 +
 +NOTE: RTCP should only be enabled after homing procedures have been completed and the working tool is solidly in the 90 degree position (vertical). ​
 +
 +NOTE #2: RTCP can be used by both 5-axes setups and for the 4-axes setups where the software assumes one axis to be equal to 0. 
  
 ====Panel/​Pendant==== ====Panel/​Pendant====
Line 474: Line 917:
 ===Wireless Pendant/​XHC=== ===Wireless Pendant/​XHC===
 {{:​mycnc:​config-040-wireless-pendant-xhc.png}} {{:​mycnc:​config-040-wireless-pendant-xhc.png}}
 +
 +The full manual can be found at the [[mycnc:​wireless_pendants|Wireless Pendants]] page, including the list of all possible commands/​actions that are used in the Wireless Pendant, Operator Panel, and other config dialogs. ​
  
 ===Operator Panel=== ===Operator Panel===
 {{:​mycnc:​config-041-operator-panel.png}} {{:​mycnc:​config-041-operator-panel.png}}
 +
 +  * The operator panel is similar to the wireless pendant in that it allows to set up a separate input mechanism from the traditional screen/​keyboard. It allows to set up a connection between the pressed keys and actions which are listed in the [[mycnc:​wireless_pendants|Wireless Pendants]] manual. ​
 +  * The Serial Communication section outlines the connection information and allows the user to load some default sets of keys. Keys can also be imported from a file which is located in the 
 +  * Keys can be set to trigger a certain action both when pressed and released. It is possible, for example, to set up a key which would pause the program when pressed, and then start it up again when the key is released. ​
  
 ===Gamepad=== ===Gamepad===
-{{:​mycnc:​config-042-gamepad.png}}+{{:​mycnc:​config-071-gamepad-updated.png}} 
 + 
 +Allows the user to take control of the machine through a joystick/​gamepad controller.  
 + 
 +After connecting a gamepad to the host computer, the following options are available:  
 + 
 +  * Enable/​disable toggle for gamepad control  
 +  * Joystick/​gamepad selection field.  
 +  * Joystick settings. It is possible to assign both axes (up/down and left/right) of the controller joysticks to a movement in the negative/​positive XYZ axis for the machine. The directions can also be flipped by scrolling through the movement options (such as left = positive X and right = negative X, or vice versa). 
 +  * Each of the controller keys can be defined to perform some action when pressed. The full list of the possible actions can be found in the [[mycnc:​wireless_pendants|Wireless Pendants]] manual.  
 +  * Hat #0-9 can also be assigned some actions. Hat 0 specifies the default position of the arrow keys (with no keys pressed), and can also be assigned some action or command (for example, to trigger when one of the arrow keys is released). 
 + 
 +Another option for joystick control can be found in the [[mycnc:​jog_through_adc_inputs|Jog through ADC inputs]] section of myCNC settings. ​
  
 ===Hotkeys=== ===Hotkeys===
 {{:​mycnc:​config-043-hotkeys.png}} {{:​mycnc:​config-043-hotkeys.png}}
 +
 +The Hotkeys settings window describes the possible hotkeys which are present in the software. These keys allow the user to control the machine directly from the keyboard, by using some commands which the user can assign to different actions. ​
 +
 +By default, the Shift and Control key are used to set different values of the Jog Overspeed %, allowing the user to quickly control jog speed with a single press. These can be set to be at different percentages (10 and 100 by default). ​
 +
 +The hotkeys for moving the axes are also set in this dialog window by assigning each particular axis direction to the arrow keys.
 +
 +Nearly any key can be assigned to have an action associated with the keypress, similar to the pendant setup described in the [[mycnc:​wireless_pendants|Wireless Pendants]] manual. These keys allow the user to effectively employ the keyboard as a wireless pendant, controlling machine movements and running PLC procedures/​actions,​ changing global variable values, and more. This is done by selecting:
 +  * The key combination (whether Ctrl, Alt, Shift are used, and the specific key assigned)
 +  * The state (pressed or released) which will trigger the response. Both of these can be chosen for the same key combination,​ triggering one action on key press and another on key release. ​
 +  * The particular action (read more about actions in the [[mycnc:​wireless_pendants|Wireless Pendants]] manual).
 +  * Specific command (if applicable to the particular action, as some simpler actions don't require a specific command).
  
 ===Hardkeys=== ===Hardkeys===
 {{:​mycnc:​config-044-hardkeys.png}} {{:​mycnc:​config-044-hardkeys.png}}
 +
 +Hardkeys allow the user to connect a button or a key directly to the myCNC controller which will then cause a certain event when pressed/​released. The following settings are available: ​
 +  * Input Number, which specifies the input to which the hardkey is connected (can be checked in the Diagnostics window)
 +  * Pressed/​released specifies the state to activate the corresponding event. This is similar to rising/​falling edge on the triggers setup.
 +  * Autorepeat generates the rising edge continuously. This behaviour is useful when the button long-press needs to correspond to a gradual increase/​decrease in some value, allowing to input some changes over time by continuously transmitting a rising edge signal. ​
 +  * Slots describe the available events, which are the same as in the [[mycnc:​wireless_pendants|Wireless Pendants]] manual, ranging from job stop/start for quick controls, to jog commands, to running a particular PLC procedure. Please consult the Wireless Pendants list to find out more about the particular Slots and Parameters. ​
  
 ====Hardware==== ====Hardware====
Line 491: Line 970:
 ===Common Hardware Settings=== ===Common Hardware Settings===
 {{:​mycnc:​config-045-common-hardware-settings.png}} {{:​mycnc:​config-045-common-hardware-settings.png}}
 +
 +  * The Common Hardware Settings allow the user to invert any input/​output value, depending on which particular default configuration is preferred. The table goes the 0-63 inputs and 0-63 outputs values, with the red cross symbolizing OFF by default and the green check mark symbolizing ON by default behaviour. ​
 +  * ADC inputs can be inverted similar to inputs/​outputs inversion
 +  * Pulse Width is set up in the Common Hardware Settings. To learn more about this, read the [[mycnc:​mycnc_pulse_width_setup|MyCNC Pulse Width Setup]] manual. ​
 +  * The pulse format can be chosen between pulse/dir or cw/ccw formats. The pulse/dir format has the step and direction inputs. Step input accepts a pulse signal which determines angle and speed of rotation. Direction input receives either high or low digital signal that regulates direction of rotation. The CW/CCW mode, on the other hand, has CW and CCW inputs. Pulse in these inputs determines whether the motor rotates clockwise or counter clockwise. This setting depends upon the hardware that the setup is using. ​
 +  * UART2 Setup can be chosen between External myTHC, IPG Laser Control, Modbus #2, Hypertherm Interface or Capacitive Height Sensor. ​
 +    * External myTHC: Deprecated, was used as an external Torch Height Control which would be attached to the controller and exchange arc voltage information,​ etc. As the THC process has been integrated into the newer control boards, this function is only used on older boards.
 +    * IPG Laser Control: Deprecated, was used as laser control through UART2. If any users require this control, please contact myCNC Support. ​
 +    * Modbus #2: Under development. The feature allows to use the controller as slave (rather than master), with gvariable commands being sent to it by some other device. ​
 +    * Hypertherm Interface: Used for the HPR series Hypertherm machines, as those use a different protocol from Powermax/​XPR series machines. ​
 +    * Capacitive Height Sensor: Deprecated, was used on the machines running a capacitive height sensor which would transmit the height information to the controller through a digital (rather than analog) signal. ​
 +  * Command buffer size is chosen between 8k and 16k. 16k is always chosen for newer firmware (after November 2015) and on all the newer boards. Only the ET1/ET3 boards with firmware which has not been updated use 8k. 
 +  * ET6-ET10 overspeed bugfix toggle - this setting is not useful for the newer boards, as those automatically transmit their firmware version to the myCNC program. Useful on older ET6/ET10 boards as the overspeed parameter was counted differently on those from the more recent ET3/ET7 boards. ​
  
 ===Encoders=== ===Encoders===
 {{:​mycnc:​config-046-encoders.png}} {{:​mycnc:​config-046-encoders.png}}
 +
 +The Encoders config window allows the user to fine-tune encoder settings. This window is typically not useful for simple tasks (such as using a rotary encoder to control overspeed, etc), as it allows for further finetuning of the encoder values. ​
 +
 +The following settings are available: ​
 +  * Encoder resolution for each particular encoder number. ​
 +  * The current encoder value is displayed on this screen. This is the fastest way to check if the encoder is connected/​working - for example, turning an MPG wheel handle should immediately change the current encoder value in this field for the selected encoder. ​
 +  * Z-position is displayed
 +  * Mul coefficients (multiplication value)
 +  * /(2^Div). These Mul and Div coefficients are used due to the fact that the controller cannot handle floating number data in calculations,​ therefore it is necessary to first multiply and then divide a number by certain coefficients. They are used to bring the value of the encoder in line with the pulses/unit value specified in the Axes/Motors tab. Larger numbers allow to reduce the error. For example, if the ratio between the Axes/Motors value and the encoder pulse/unit value is 3.5, then the multiplication value (Mul) can be set to 7, while Div can be set to 1 (//2^1 =2, 7/2 = 3.5//​).  ​
 +  * Encoder position
 +  * Position
 +  * Attached to motor flag (has been moved to Analog and Pulse-Dir Close Loop settings in the recent software versions). ​
 +
 +More information on encoders is available in the [[mycnc:​rotary_encoder_connection_and_setup|Rotary encoder connection and setup]] manual which goes through some connection examples. ​
  
 ===Analogue Closed Loop=== ===Analogue Closed Loop===
 {{:​mycnc:​config-047-analogue-closed-loop.png}} {{:​mycnc:​config-047-analogue-closed-loop.png}}
 +
 +This allows to create an analog closed loop system with PID controls. More information on PID control and closed loop configurations is available in the [[mycnc:​closed_loop_configuration|MyCNC closed loop configuration]] manual. ​
 +
 +The following settings are available: ​
 +  * Enable/​disable toggles for each motor
 +  * PID ratio K
 +  * Ratios K0, Kp/1024, Kd/1024, Ki/8192. These can create an experimental ratio for K, which can be copied into its respective field by using the arrow button in each motor line. Therefore, it is not necessary to input the K ratio initially. However, the time to find this experimental ratio will be a lot higher that if the ratio has already been inputted, so this method is not recommended for day-to-day operations. ​
 +  * The integral limit, which prevents Ki from going above a certain value as the integral control part of the PID control system can lead to issues due to Ki being too large and not adjusting fast enough if there is a problem with the motor. ​
 +  * Encoder channel specifies which channel the motor is linked to
 +  * Dead zone - a range of input values where the output value is zero. 
 +  * DAC offset. Typically, we are looking at a range from -10V to +10V, which translates to 0-4095. As each motor has their own offsets, the DAC Offset value allows us to take that into account. ​
 +  * Position Error and Speed Control values window which allows the user to monitor these values in real time by assigning a colour to each of the eight motors. ​
 +  * Buttons for motor control are available at the bottom of the page, which allow the user to quickly see how each motor reacts to an input and what the error/speed values would be. 
 +  * The servo-motor ON/OFF buttons allow the user to abort the process if one of the constants has gotten out of bounds and an overcorrection is imminent (for example, if there will be a sudden jerk or impact due to one of the motors overcompensating). This will turn the motor system off, and instruct it to count the current error as zero on the next start up.   
 +
 +Such a system can have its Mul/Div ratio set to be at 1, as it is not required to bring it in line with the Axes/Motors pulse/unit values. ​
  
 ===Pulse-Dir Closed Loop=== ===Pulse-Dir Closed Loop===
 {{:​mycnc:​config-048-pulse-dir-closed-loop.png}} {{:​mycnc:​config-048-pulse-dir-closed-loop.png}}
 +
 +This window allows for fine-tuning of PID control for pulse-dir closed loops. More information on the PID control is available in the Encoder/​Analog Closed Loop sections above, as well as in the [[mycnc:​closed_loop_configuration|MyCNC closed loop configuration]] manual. ​
 +
 +In this case, it is necessary to set a proper ratio using the Mul/Dir coefficients from the Encoder window. The following settings are available:
 +  * Enable/​disable toggle for PID control of each motor
 +  * PID ratios K0, Kp, Kd, Ki
 +  * Integral limit, which prevents the Ki (integral control) ratio from going unreasonably high, as the integral control part of the PID will take a long time to come back down to normal. ​
 +  * Encoder channel which signifies the channel denoted for each specific motor
 +  * Dead zone, in which the input values will be equal to zero at the output.
 +
 +Overall, the setup for this window is similar to the Analog Closed Loop setup earlier.
  
 ===ET2/​ET4=== ===ET2/​ET4===
 {{:​mycnc:​config-049-et2-et4.png}} {{:​mycnc:​config-049-et2-et4.png}}
 +
 +Deprecated settings window for the ET2/ET4 control boards.
  
 ===Host Modbus=== ===Host Modbus===
 {{:​mycnc:​config-050-host-modbus.png}} {{:​mycnc:​config-050-host-modbus.png}}
 +This is part of the Modbus device setup, and is part of a longer manual series which can be found here: [[mycnc:​modbus_setup|Modbus Setup]]. This section deals with Modbus communication with the host computer (the description of the setup can be found in this manual: [[mycnc:​host_modbus_api|Host Modbus API]]).
 +
 +The following settings are available in the Host Modbus config settings window: ​
 +  * Enabled/​disabled toggle ​
 +  * Port to be used for the connection from the host computer to the Modbus device ​
 +  * Baud (typically set to be at 9600, 8, N, 1).
 +  * Timeout, in ms
 +  * Number of retries for a failed message delivery
  
 ====Advanced==== ====Advanced====
Line 511: Line 1054:
 ===Profile=== ===Profile===
 {{:​mycnc:​config-051-profile.png}} {{:​mycnc:​config-051-profile.png}}
 +
 +This window lists all the relevant profile xml files which define how the screen, settings, etc are laid out. These files should not be edited unless strictly necessary, as it they define the entire screen layout, the current settings config, the tools, and more. 
  
 ===Debug=== ===Debug===
 {{:​mycnc:​config-052-debug.png}} {{:​mycnc:​config-052-debug.png}}
 +
 +The debug window allows the user to create a debug log file. Typically not useful for end users, mostly for technical support and repair engineers.  ​
  
 ===UI Settings=== ===UI Settings===
 {{:​mycnc:​config-053-ui-settings.png}} {{:​mycnc:​config-053-ui-settings.png}}
  
 +The UI settings allow the user to edit their on-screen UI.  
 +  * Allow to edit cnc-screen.xml is an experimental feature which should be used with caution, as it allows editing of most on-screen elements and can lead to unforeseen consequences. It is mostly used to look up button functions that might not be otherwise obvious. Currently, if the save button is pressed during the editing process, a new .xml file will be created in your profile'​s folder, titled **cnc-screen-custom.xml**. If this is the case, a blank screen will be presented to you during the next program loading, with the entire screen erased. To fix this, navigate to your profile'​s folder and delete the new custom file (the old //​cnc-screen.xml//​ will still be intact as it is not impacted by the changes). 
 +  * The user is able to select particular tabs to display on the main screen, such as the Vars tab, Diagnose, Library and others. 
 +  * Tabs shown after pressing the Settings button from the main screen of myCNC software can also be configured here. These include System, Support, PLC, Stats, Log and Cutcharts tab. 
  
  
mycnc/mycnc_configuration_dialogs.1562960978.txt.gz · Last modified: 2019/07/12 15:49 by ivan