Tag Archives: CNC software

Connection of CSMIO/IP-A controller with CD1-A INFRANOR drive (simCNC, Mach4)

Connection diagram of CSMIO/IP-A controller with CD1-A INFRANOR drive with simCNC and Mach4 software

 

1. Connection diagram of CSMIO/IP-A controller with CD1-A INFRANOR drive with simCNC software

ikon pdf  Open the PDF file for larger drawing details

 

 

2. Connection diagram of CSMIO/IP-A controller with CD1-A INFRANOR drive with Mach4 software

ikon pdf    Open the PDF file for larger drawing details

 

 

 

[Source:] The diagram was created by CS-Lab’s Technical Support section for CSMIO/IP users.

7 January 2021

simCNC – the list of supported gcodes and mcodes

The list of gcodes and mcodes supported by simCNC:

G00 – Rapid Move
G01 – Linear Move
G02/03 – Arc Move
G04 – Dwell
G10 – Tool Offset and Work Offset Tables
G17/G18/G19 – Plane Selection
G20 / 21 – Unit Selection
G28 / G30 Return Home
G31 – Probing – Probe number 0
G31.1 – Probing – Probe number 1
G31.2 – Probing – Probe number 2
G31.3 – Probing – Probe number 3
G32 – Threading
G40 – Accepted but not used
G43 – Set Tool Length Offsets
G49 – Disable Tool Length Offsets
G50 – Accepted but currently not used
G53 – Move in ABS Coordinates
G54 – G59.3 Work Offsets 1- 9
G64 – Set precision value (CV)
G68 – Rotate Coordinates Command (version 3.300 and newer)
G80 – Cancel Canned Cycles
G81 – Drill Cycle
G82 – Drill Cycle with Dwell
G83 – Peck Drill Cycle
G90 – Distance Mode (absolute)
G91 – Distance Mode (incremental)
G92 – Temporary work offsets shift (version 3.300 and newer)
G94 – Accepted but currently not used
G98 – Canned Cycle Return to Z plane
G99 – Canned Cycle Return to R plane

M01 – Program stop
M03 – Optional program stop
M04 – Rotate spindle clockwise/counterclockwise
M05 – Stop spindle rotation
M06 – Tool change (tool change script activation)
M07 – Mist on
M08 – Flood on
M09 – Mist & flood off
M30 – Program end and rewind

M62 P0 – enable output synchronized with trajectory number 0
M63 P0 – disable output synchronized with trajectory number 0
M62 P1 – enable output synchronized with trajectory number 1
M63 P1 – disable output synchronized with trajectory number 1
M62 P2 – enable output synchronizedwith trajectory number 2
M63 P2 – disable output synchronized with trajectory number 2
M62 P3 – enable output synchronizedwith trajectory number 3
M63 P3 – disable output synchronized with trajectory number 3

Description of the gcodes will be released soon. The definition of G2 / 3 is in accordance with the ISO standard.

29 April 2020

VIDEO: How to install simCNC beta versions on Windows, MacOS, Ubuntu Linux

The short tutorial video presents how to add “beta” repository to install and test simCNC beta releases. Please take into account that the beta releases can be unstable, so be very careful when using it on a real machine!

How to install simCNC beta versions on Windows

How to install simCNC beta versions on Ubuntu Linux

How to install simCNC beta versions on MacOS

[source: CS-Lab s.c. YouTube] 

30 September 2019

Mach4 – CSMIO/IP analog inputs readout. RRO value control

The current plugin release provides only two analog inputs (two potentiometers) for FRO and SRO values control. If you want to control some other value in Mach4 using an analog input we will show you how to do this with RRO as an example. The easiest way to support the analog input is through a macro, and more specifically by a PLC script which is a part of Mach4 screen. The macro is executed at 50ms frequency what provides very fast reaction. If you do not know what is the PLC script you can read about it in the „3.2.3 PLC Script” chapter of the guide:
 https://www.machsupport.com/wp-content/uploads/2014/05/Mach4%20Scripting%20Manual.pdf

  1. On the main Mach4 screen press the options as follows:
  • „Operator” option
  • „Edit Screen” option

After that Mach4 goes into screen edit mode.

 

2. It the Mach4 screen editor window press as follows: 

  • the „wxRout” option („wxLathe” for a lathe)
  • the „Events” button (a sheet of paper with a lightning sign)
  • the „PLC Script” area (to highlight another button)
  • the ellipsis button (three dots)

After that, you will see the LUA scripts editor window where you can see the PLC script code. 

3. Scroll down the PLC script to the end and find the line marked below.

4. Place the cursor over the line and press „Enter” for a few times to make some space for the code. 

 

NOTE: According to the information contained in the marked line you can’t put your own code below it. 

 

5. Next place the below code in the prepared area, save the macro and quit the screen editor.

local Analog_In_Reg = mc.mcRegGetHandle(inst, "CSMIO-IP/Analog Input 2")                                  
local Analog_In_Val = mc.mcRegGetValue(Analog_In_Reg)
local maxval = scr.GetProperty('slideRRO', 'Max Value')
local minval = scr.GetProperty('slideRRO', 'Min Value')
local RRO = Analog_In_Val / (10 / tonumber(maxval))
if (RRO < tonumber(minval)) then
 RRO = tonumber(minval);
end
if (RRO > tonumber(maxval)) then
 RRO = tonumber(maxval);
end
scr.SetProperty('slideRRO', 'Value', tostring(RRO));

The above code reads voltage value of the analog input no. 2, changes it to percentage value and passes it to slideRRO. The code verifies if the RRO value doesn’t exceed the minimum and maximum RRO slide value. 

If you want to read the voltage value of any other analog inputs use the two first lines from the above code:

local Analog_In_0_Reg = mc.mcRegGetHandle(inst, "CSMIO-IP/Analog Input 0")
local Analog_In_0_Val = mc.mcRegGetValue(Analog_In_0_Reg)
-- Analog in 0
local Analog_In_1_Reg = mc.mcRegGetHandle(inst, "CSMIO-IP/Analog Input 1")                     
local Analog_In_1_Val = mc.mcRegGetValue(Analog_In_1_Reg)
-- Analog in 1
local Analog_In_2_Reg = mc.mcRegGetHandle(inst, "CSMIO-IP/Analog Input 2")                       
local Analog_In_2_Val = mc.mcRegGetValue(Analog_In_2_Reg)
-- Analog in 2
local Analog_In_3_Reg = mc.mcRegGetHandle(inst, "CSMIO-IP/Analog Input 3")                        
local Analog_In_3_Val = mc.mcRegGetValue(Analog_In_3_Reg)
-- Analog in 3

After executing the above code the variable Analog_In_0_Val, Analog_In_1_Val, Analog_In_2_Val and Analog_In_3_Val will keep the analog inputs voltage values shown in volts.

 

[Source:] The articles were created by CS-Lab’s Technical Support section for CSMIO/IP users. 

30 May 2019