Archiwa tagu: CSMIO/IP

Skanowanie powierzchni z użyciem kontrolerów CSMIO/IP i Mach3 (M40)

W przypadku kontrolerów CSMIO/IP procedura uruchomienia pomiaru wygląda nieco inaczej niż w oryginalnym rozwiązaniu wykorzystującym port LPT. Poniżej znajdziesz informacje, jak krok po kroku wykonać skanowanie powierzchni, czyli stworzyć siatkę punktów za pomocą sondy pomiarowej z wykorzystaniem oprogramowania Mach3 i kontrolera CSMIO/IP.   

  1. W przypadku Mach3 i kontrolerów CSMIO/IP należy wywoływać komendę G31 tylko z poziomu makra.

Ten sposób pomiaru gwarantuje precyzję i bezpieczeństwo, ponieważ pomiar jest wykonywany autonomicznie przez kontroler CSMIO/IP.

Wywoływanie komendy G31 bezpośrednio z poziomu gcod może sprawiać problemy i nie należy tego robić.

2. Aby pomiar G31, wykonywany z poziomu makra, przebiegał bezproblemowo należy używać Mach3 w wersji od 03.043.022 do 03.043.044.

Użycie nowszej wersji może powodować problemy z synchronizacją koordynat kontrolera CSMIO/IP z Mach3.

Brak synchronizacji objawia się awaryjnym zatrzymaniem maszyny i wyświetleniem się komunikatu E-PID.

Mach3 od wersji  03.043.044 według naszych obserwacji posiadają problem z synchronizacją koordynat po wykonanym pomiarze.

 

3. Jak przygotować oprogramowanie Mach3 do pomiaru wysokości powierzchni?

  • Zainstaluj Mach3 w wersji 03.043.022 do 03.043.044.
  • Makro z załącznika umieść w odpowiednim folderze, w moim przypadku C:\Mach3\macros\Mach3Mill
  • Nadaj prawa administratora plikowi Mach3.exe (prawo klik na pliku Mach3.exe / Właściwości / Zgodność / Uruchom ten program jako administrator)

 

4. Jak wykonać pomiar wysokości powierzchni.

a) Wywołaj komendę M40.

Po wywołaniu tej komendy pojawi się okno proszące o nazwanie pliku. Nazwa, jakiej użyjesz jest bez znaczenia, ponieważ plugin CS-LAB zaraz po wykonaniu pierwszego pomiaru stworzy własny plik o nazwie „CSMIO_IP_PROBE.txt”

b) Stwórz gcod zawierający komendę „M310 P-30 Q300”

P – Z axis target position
Q – probing speed.

Poniżej fragment przykładowego gcod :

%

G0 X0 Y0 Z20

M310 P-30 Q300

G0 Z20

X20 Y0

M310 P-30 Q300

G0 Z20

X40 Y0

M310 P-30 Q300

G0 Z20

Poniżej znajdziesz plik z kompletnym przykładem:

Test M310    

M310

c) Uruchom gcod w Mach3, spowoduje to wykonanie serii pomiarów wysokości powierzchni.

d) Po wykonaniu gcod zajrzyj na dysk C, znajdziesz na nim wspominany już plik „CSMIO_IP_PROBE.txt”.

Jego zawartością jest zbiór punktów powstałych podczas wykonywania gcod.

 

0.00000,0.00000,2.14350

20.00000,0.00000,11.46950

40.00000,0.00000,11.14150

60.00000,0.00000,11.02900

80.00000,0.00000,14.36650

100.00000,0.00000,12.31550

100.00000,10.00000,15.03800

90.00000,10.00000,12.10750

80.00000,10.00000,10.81750

70.00000,10.00000,12.35100

60.00000,10.00000,9.72000

50.00000,10.00000,13.33700

40.00000,10.00000,15.77800

30.00000,10.00000,15.50700

20.00000,10.00000,13.72450

10.00000,10.00000,12.73850

0.00000,10.00000,12.76600

 

 

25 listopada 2021

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

Przedłużacz szyny CAN dla kontrolerów CSMIO/IP i modułów CSMIO

Wielu użytkowników bardzo często spotyka się z problemem zbyt krótkiego przewodu ręcznego manipulatora. Pierwszym pomysłem, na jaki wpadają jest przedłużenie wieloprzewodowego kabla ręcznego manipulatora. Jest to zły pomysł, dlatego że proces przedłużania kabla ręcznego manipulatora jest pracochłonny, wymaga szczególnej uwagi i dbałości wykonania połączeń.  Co więcej, przedłużony kabel jest o wiele bardziej narażony na zakłóceni i może prowadzić do niekontrolowanych ruchów maszyny podczas używania ręcznego manipulatora. Wyjściem z tej trudnej na pierwszy rzut oka sytuacji jest użycie przedłużacza, ale nie kabla ręcznego manipulatora, a przedłużacza szyny CAN.

W tej sytuacji moduł CSMIO-MPG należy zamontować jak najbliżej stanowiska operatora, aby kabel ręcznego manipulatora był wystarczający, a kontroler CSMIO/IP i moduł CSMIO-MPG połączyć ze sobą przedłużaczem szyny CAN. Poniżej przedstawiamy schemat przedłużacza szyny CAN na przykładzie kontrolera ruchu CSMIO/IP-S i modułu CSMIO-MPG. Przedłużacz szyny CAN można stosować dla wszystkich kontrolerów CSMIO/IP i wszystkich modułów CSMIO (identyczny schemat).

  Otwórz schemat w formacie PDF, aby zobaczyć szczegóły

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

11 lutego 2019