Archiwa tagu: oprogramowanie CNC

Lista Gcode i Mcode obsługiwanych przez simCNC

Lista Gcode i Mcode obsługiwanych przez simCNC:

G00 – Ruch szybki po prostej / Rapid Move
G01 – Ruch roboczy po prostej / Linear Move
G02/03 – Ruch roboczy po łuku / Arc Move
G04 – Przerwa czasowa / Dwell
G10 – Zmienia wartości współrzędnych offsetu roboczego o zadanym indeksie./ Tool Offset and Work Offset Tables
G17/G18/G19 – Wybór płaszczyzny / Plane Selection
G20 / 21 – Wybór jednostki / mm, cal 
G28 / G30 Najazd na punkt referencyjny / Return to Home
G31 – Probing – Pomiar sondą numer 0 / Probe
G31.1 – Probing – Pomiar sondą numer 1 / Probe
G31.2 – Probing – Pomiar sondą numer 2 / Probe
G31.3 – Probing – Pomiar sondą numer 3 / Probe
G32 – Gwintowanie
G40 – Tolerowany lecz obecnie nie używany
G43 – Kompensacja długości narzędzia / Set Tool Length Offsets
G49 – Odwołanie kompensacji długości narzędzia. / Disable Tool Length Offsets
G50 – Tolerowany lecz obecnie nie używany.
G53 – Tymczasowe odwołanie układu współrzędnych / Move in ABS Coordinates
G54 – G59.3 Wywołuje offset roboczy numer 1-9 / Work Offsets 1- 9
G64 – Zadana wartość precyzji (CV) 
G68 – Obrót układu współrzędnych (od 3.300) / Rotate Coordinates Command
G80 – Odwołanie cykli / Cancel Canned Cycles
G81 – Wiercenie w jednym przejściu / Drill Cycle
G82 – Wiercenie w jednym przejściu z postojem na dnie / Drill Cycle with Dwell
G83 – Wiercenie z wyrzucaniem wióra / Peck Drill Cycle
G90 – Programowanie absolutne / Distance Mode
G91 – Programowanie przyrostowe / Distance Mode
G92 – Tymczasowe przesuniecie Work Offsetsu (od wersji 3.300) TEMPORARY WORK OFFSETS 
G94 – Tolerowany lecz obecnie nie używany
G98 – Szybkie wycofanie do płaszczyzny Z / Canned Cycle Return to Z plane
G99 – Szybkie wycofanie do płaszczyzny R Canned Cycle Return to R plane

M01 – Stop warunkowy / Program stop
M03 – Obroty prawe / Optional program stop
M04 – Obroty lewe / Rotate spindle clockwise/counterclockwise
M05 – Obroty stop / Stop spindle rotation
M06 – Zmiana narzędzia – wywołuje skryptu wymiany narzędzia / Tool change
M07 – Mgła włączone / Mist on
M08 – Chłodziwo włączone / Flood on
M09 – Wyłącz mgłę i chłodziwo / Mist & flood off
M30 – Koniec programu i przewinięcie do początku. / Program end and rewind

M62 P0 – załączenie wyjścia synchronizowanego z trajektorią numer 0 
M63 P0 – wyłączenie wyjścia synchronizowanego z trajektorią numer 0
M62 P1 – załączenie wyjścia synchronizowanego z trajektorią numer 1
M63 P1 – wyłączenie wyjścia synchronizowanego z trajektorią numer 1
M62 P2 – załączenie wyjścia synchronizowanego z trajektorią numer 2
M63 P2 – wyłączenie wyjścia synchronizowanego z trajektorią numer 2
M62 P3 – załączenie wyjścia synchronizowanego z trajektorią numer 3
M63 P3 – wyłączenie wyjścia synchronizowanego z trajektorią numer 3

Opis poszczególnych gcodów ukaże się niebawem. Sposób definiowania G2/3 jest zgodny z standardem ISO.

29 kwietnia 2020

VIDEO: Jak zainstalować wersję beta simCNC na Windows, MacOS i Ubuntu Linux

Krótkie filmy instruktażowe prezentujące jak dodać respozytoria „beta”, aby zainstalować i przetestować simCNC w wersji beta. Prosimy zachować szczególną ostrożność korzystając z wersji beta na prawdziwej maszynie, ponieważ mogę być one niestabilne!

Jak zainstalować wersję beta simCNC na Windows

Jak zainstalować wersję beta simCNC na Ubuntu Linux

Jak zainstalować wersję beta simCNC na MacOS

[źródło: CS-Lab s.c. YouTube] 

30 września 2019

Mach4 – Odczyt wejść analogowych CSMIO/IP. Kontrola wartości RRO

Obecna wersje plugin umożliwia wykorzystanie tylko dwóch wejść analogowych (dwóch potencjometrów) do sterowania wartości FRO i SRO. Jeśli chciałbyś kontrolować po przez wejście analogowe inną wartość w Mach4, pokażemy ci, jak to zrobić na przykładzie wartości RRO. Obsługę dodatkowego wejścia analogowego najprościej zrealizować poprzez makro, a dokładnie poprzez makro PLC będące częścią ekranu Mach4. Makro to jest wykonywane z częstotliwością 50ms, co zapewnia bardzo szybką reakcje. Jeśli nie wiesz, czym jest skrypt PLC zapoznaj się z działem „3.2.3 PLC Script” instrukcji znajdującej się na tej stronie:
 https://www.machsupport.com/wp-content/uploads/2014/05/Mach4%20Scripting%20Manual.pdf

  1. W głównym oknie programu Mach4 klikamy kolejno na:
  • opcje „Operator”
  • opcje „Edit Screen”

Po wykonaniu powyższych kroków, program Mach4 przejdzie w tryb edycji ekranu.

 

2. W oknie edytora ekranu Mach4 klikamy kolejno na:

  • opcje „wxRout” (w przypadku tokarki „wxLathe”)
  • przycisk „Events” (kartka papieru z błyskawicą)
  • pole „PLC Script” (aby podświetlić kolejny przycisk)
  • przycisk z trzema kropkami.

Po wykonaniu powyższych kroków ukaże się okno edytora skryptów LUA a w tym oknie będziemy mogli zobaczyć kod skryptu PLC.

 

3. Przewijamy skrypt PLC do końca i odszukujemy wskazaną poniżej linię.

 

4. Ustaw kursor nad zaznaczoną linią i naciśnij klika razy „Enter”, aby zrobić nieco więcej miejsca na nasz kod.

 

Uwaga: Zgodnie z informacją zawartą w zaznaczonej linii, nie wolno nam umieszczać własnego kodu poniżej jej.

 

5. Następnie umieść w przygotowanym miejscu poniższy kod, zapisz makro i wyjdź z edytora ekranów.

 

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));

Powyższy kod odczytuje wartość napięcia analogowego z wejścia numer 2, zamienia ją na wartość procentową i przekazuje do suwaka slideRRO. Zwróć uwagę, że powyższy kod sprawdza, czy wartość RRO nie przekracza minimalnej i maksymalnej wartości suwaka RRO.

Jeśli będziesz chciał odczytać napięcie dowolnego wejścia analogowego wystarczy, że z powyższego kodu użyjesz dwóch pierwszych linii :

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

Po wykonaniu powyższego kodu zmienne Analog_In_0_Val, Analog_In_1_Val, Analog_In_2_Val i Analog_In_3_Val będą przechowywały wartość napięcia wejść analogowych wyrażaną w woltach.

 

[Źródło:]  Opracowane przez Wsparcie Techniczne CS-Lab dla użytkowników kontrolerów CSMIO

30 maja 2019