"Göra två saker samtidigt" i G-kod

Robot, CNC, Pneumatik, Hydraulik, mm
Tottish
Inlägg: 847
Blev medlem: 30 juni 2007, 19:11:37
Ort: Oslo, Norge

Re: "Göra två saker samtidigt" i G-kod

Inlägg av Tottish »

Walle: Är inte säker på hur du menar att PWMen skulle kopplas in på Z-axeln men precis som POS skriver så vill man ju ha den fri för inställning av 'nollan' och fokus.

Meduza:
Jo det skulle kunna vara något, men det är ju ett ganska opraktiskt protokoll (step/dir) att läsa in för PWM-kontrollern men visst borde det vara görbart. Men om det går att komma undan att bygga en ny hårdvaru-PWM-modul så skulle det ju vara fint. Det känns ju lite taskigt när funktionen finns i programmet men inte kan exekveras från koden... eller hur man nu ska uttrycka det.

MVH
/Tottish

EDIT:
Jaha, då var vi i princip tillbaks på ruta 1 igen då. Körde tydligen för långsamt när jag testade den kod som jag postade tidigare. Verkar bara funka upp till ca 500mm/min. Går det fortare än så blir det tydligt märkbara "hack"vid radbyte och lite fortare än så vill man ju gärna kunna köra med 0,5mm i stepover.
Detta betyder också att Walle/Meduzas förslag blir lika obrukbart...
*suck*
Användarvisningsbild
POS
Inlägg: 2847
Blev medlem: 4 februari 2007, 20:16:03
Ort: Arboga
Kontakt:

Re: "Göra två saker samtidigt" i G-kod

Inlägg av POS »

Kan du inte i början och slutet på varje förflyttning i X:led lägga in en cirkulär rörelse i XZ med planval G18
Så att linjen börjar med en svag böj i Z-led och slutar med en böj i Z+led.
Vet inte om det är en bra ide men det är en ide iallafall! :)
Användarvisningsbild
Walle
Moderator
Inlägg: 7701
Blev medlem: 14 december 2004, 10:32:18
Ort: Stockholm

Re: "Göra två saker samtidigt" i G-kod

Inlägg av Walle »

Jag tänkte nåt i stil med denna flummiga förklaring:

Jag vet ju inte vad det kallas, men när man kör fräsen "fram och tillbaka" på t.ex. X-axeln, medans Y-axeln stegar fram en bit varje gång X-axeln "vänder", och Z-axeln jobbar upp och ned för att fräsa en relief.

Jag tänkte som så att man istället för att styra Z-axelns position styr styrkan på lasern. Så där Z-axeln skulle gått ned, går lasern upp i styrka, o.s.v.

Fast det är klart, om det ändå inte går att få olika nyanser kvittar det väl.
Tottish
Inlägg: 847
Blev medlem: 30 juni 2007, 19:11:37
Ort: Oslo, Norge

Re: "Göra två saker samtidigt" i G-kod

Inlägg av Tottish »

POS:
Jo, kanske det men det skulle förmodligen ändå bli stopp mellan G-kod raderna. Verkar ganska hopplöst att lösa med G-kod i alla fall. En snubbe på CNCzone menar att M62/63-kommandot inte skall inverka på "flowet" men mina tester visar dessvärre på motsatsen. Kanske någon felande inställning i min maskin?

Walle:
Jo, jag misstänkte att det var så du menade men jag tänkte närmast på hur man skulle lösa det hårdvarumässigt. Jag har tänkt precis lika dant som du men kom på att man kunde byta ut Z-axelns position i G-koden mot ett PWM-värde som normalt går ut till spindeln mha ett (förmodar jag) enkelt Word-macro. Därmed skulle man slippa extärn hårdvara då jag kan använda denna 2kHz PWM-våg att ANDa med 24kHz-PWMen som kommer från den styrmodul jag byggt till lasern för att styra styrkan. Maxvärdet ställer man in med en vrid-pot på PWM-modulen.
Nu verkar det dock som att det inte går att undvika (om man inte kan fixa det med soft-PLCn) då det verkar rätt kört att pilla in ett komando (oavsett om det är M3 Sxx eller G1 Zxx) som exekveras medan fräsen fortfarande rör sig med någorlunda konstant hastighet. Undantaget matningshastigheter <ca 500mm/min.

Surt sa räven. Då är frågan: Ska man sätta på sig studerar-hatten och lära sig EMCs softPLC (inte helt värdelös kunskap skall det erkännas) eller ska man ta på sig tänkarhatten och börja skissa på någon slags hårdvarustyrning.
Frågor, frågor, frågor...

MVH
/Tottish
Användarvisningsbild
Meduza
EF Sponsor
Inlägg: 10718
Blev medlem: 30 april 2005, 22:48:05
Ort: Ekerö, Stockholm
Kontakt:

Re: "Göra två saker samtidigt" i G-kod

Inlägg av Meduza »

http://nilno.com/laser_dir/2004_02_01_archive.html

Post 2 kanske är intressant?


Annars så tror jag nog att Software PLC är vägen att gå.
Tottish
Inlägg: 847
Blev medlem: 30 juni 2007, 19:11:37
Ort: Oslo, Norge

Re: "Göra två saker samtidigt" i G-kod

Inlägg av Tottish »

Hänger i EMCs irc-kanal.
Verkar som att det inte går att få SoftPLCn att läsa värden från en lista. Koordinater för av/på-slag alltså. Så den vägen verkar också körd.
Börjar seriöst fundera på om man skulle sätta sig in i det där HAL-'språket' och försöka knacka ihop något själv...
Ge något tilbaka till communityn... och allt det där.
:)

MVH
/Tottish
gustav t
Inlägg: 144
Blev medlem: 7 juni 2006, 17:05:00
Ort: Fjällbacka

Re: "Göra två saker samtidigt" i G-kod

Inlägg av gustav t »

Nu kanske inte jag läst tillräckligt bra eller inte fattat vad jag läst.
Är det så att maskinen stoppar varje gång den byter rad?
Om du kör ett program som liknar detta:

G1 X0 Y0
G1 X50 Y0
G1 X100 Y0
G1 X150 Y0

maskinen bör väll gå från X0 till X150 i "ett svep", utan stopp.

/gustav
H.O
Inlägg: 5913
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: "Göra två saker samtidigt" i G-kod

Inlägg av H.O »

Ja, det är riktigt, om man kör i G64 mode (constant velocity contouring).
MEN vad Tottish försöker göra är typ:

G1 X0 Y0
G1 X50 Y0
M3
G1 X100 Y0
G1 X150 Y0
M5

Vad som händer då är att de två första blocken blir "en konstant rörelse" men sen stoppar maskinen eftersom den ser en M-kod. Enligt manualen så BORDE M62-M65 råda bot på det problemet men det verkar som att det inte riktigt fungerar...

Tottish, finns det någon inställning för "mängden" look-ahead i EMC2? I så fall, vad står den på och har du testat att "skruva upp" den? Jag har också en känsla av att det här fenomemet kan uppträda olika om man kör med mjukvaru-genererade steg-pulser eller om man kör ett analogt servo-system med t.ex ett PLUTO- eller MESA-kort. Men det är bara en "känsla".

Går det verkligen inte att i soft-PLC'n jämföra aktuell position med ett fast värde? I sin enklaste form kan det se ut så här i Mach3:
Bild
Om X-axelns position är mellan 50 och 150 så är Output 1 till, annars är den från.
Användarvisningsbild
Krille Krokodil
Inlägg: 4062
Blev medlem: 9 december 2005, 22:33:11
Ort: Helsingborg

Re: "Göra två saker samtidigt" i G-kod

Inlägg av Krille Krokodil »

"a realtime motion planning system with look-ahead" står det på EMCs hemsida, då måste det vara någon parameter som inte är rätt inställd hos dig (börja med att kolla att toleransen inte är för snävt satt, typ 0.001 mm).

Sen tror jag inte att det är dumt att styra lasern av/på med Z-djupet, för det går att göra rätt lätt i de flesta CAM då. Tex Z=-1 skulle kunna vara "på" och så bereder man sin "fräsbana" med ramp på in- och utgångarna.
Användarvisningsbild
Meduza
EF Sponsor
Inlägg: 10718
Blev medlem: 30 april 2005, 22:48:05
Ort: Ekerö, Stockholm
Kontakt:

Re: "Göra två saker samtidigt" i G-kod

Inlägg av Meduza »

Prova som sagt att ställa upp toleransen något och prova igen...
Tottish
Inlägg: 847
Blev medlem: 30 juni 2007, 19:11:37
Ort: Oslo, Norge

Re: "Göra två saker samtidigt" i G-kod

Inlägg av Tottish »

gustav t: Antar att du fick svar nog av H.O.

H.O: Tror inte att det är en felinställning i mängden look-ahead för om jag kör ett program i stil med det som gustav t postade så 'hoppar' markören, när man kör programmet, rätt ner till sista raden och något som de i EMC-manualen kallar för typ "naive CAM controller" tar över fram till denna rad och ser till att inställd tolerans följs. Snubbarna i #EMC@freenode menar att det är denna komponent (CAM-kontrollern) som typ 'nollställs' så fort det kommer ett kommando som M63/64/M3. Detta är bara med G64 aktiverad, annars 'hackar' den för varje radbyte oavsett om man har "extrakommandon" eller inte.
Ang. PLC-lösningen så har jag kanske varit lite otydlig: Ursprungsproblemet är ju att jag vill rita upp en bild med en raster-rörelse. För en liten bild betyder det kanske 200-'lines' och det är naturligtvis inte hållbart att göra steg-program för varje linje i stil med ditt exempel då. Jag behöver alltså hämta värden från en tabell/textfil att jämföra med och det är där problemet kommer in. Är ju inte så hemma på EMC men herrarna i ovan nämnda IRC-kanal verkar överens om att det inte finns något bra sätt att lösa detta.

Krille Krokodil:
Jo fast CAM-biten i det hela är nog tämligen lätt att lösa med ett enkelt Word-macro (eller kanske till och med en 'Replace Word'-funktion från valfri texteditor) och om man då kan göra det och därmed få Z-axeln fri (läs tidigare anledningar till varför det är önskvärt) så skulle jag säga att det är väl värt det.

Meduza: Gjort. Spelar ingen roll om man sätter G64 P-värdet till 0.1 eller 5. Den stannar ändå upp om det kommer ett M63/64/M3 eller en avvikelse större än P i Z-led.
Tror att den där CAM-kontrollern funkar så att den letar på en punkt i G-koden så långt fram från aktuell position som möjligt inom inställd tolerans och beräknar 'bästa' vägen dit och fortsätter sedan därifrån på samma vis. Detta är dock endast en känsla jag fått när jag suttit och trixat med toleranser och avvikelser i en experimentkod.

MVH
/Tottish

EDIT:
Kan parafrasera en användare i IRC-kanalen:
"The bottom line is that EMC2 is not ready to control this type of machining and won't be without some programming effort."
Användarvisningsbild
Meduza
EF Sponsor
Inlägg: 10718
Blev medlem: 30 april 2005, 22:48:05
Ort: Ekerö, Stockholm
Kontakt:

Re: "Göra två saker samtidigt" i G-kod

Inlägg av Meduza »

Men om man då kontrollerar lasern med en virtuell fjärdeaxel som rör sig mindre än toleransen för att sätta på/av lasern då?

Dvs axeln rör sig pyttelite uppåt för att sätta på lasern (0.001mm eller så) och samma sak för av fast nedåt?
Tottish
Inlägg: 847
Blev medlem: 30 juni 2007, 19:11:37
Ort: Oslo, Norge

Re: "Göra två saker samtidigt" i G-kod

Inlägg av Tottish »

Ja, då struntar den helt enkelt i att röra på den axeln eftersom den ligger inom toleransen. Provade att göra detta med en A-axel även fast det kändes hopplöst eftersom det inte funkar med Z.

EDIT: Man får alltså ingen dir-ändring på paralellportspinnen.

MVH
/Tottish
Användarvisningsbild
Meduza
EF Sponsor
Inlägg: 10718
Blev medlem: 30 april 2005, 22:48:05
Ort: Ekerö, Stockholm
Kontakt:

Re: "Göra två saker samtidigt" i G-kod

Inlägg av Meduza »

ok... ja då är det nog bara kvar att skriva en egen modul, EMC2 Laser by Tottish :)

(jag tycker det låter som en vääääldigt bra ide då jag har för plan att i framtiden bygga en cnc-laser :p)
Tottish
Inlägg: 847
Blev medlem: 30 juni 2007, 19:11:37
Ort: Oslo, Norge

Re: "Göra två saker samtidigt" i G-kod

Inlägg av Tottish »

Ja, det lutar nog åt det. Sitter och studerar Integrator_Manual nu så får vi se om jag bedömer det rimligt att snickra ihop vad det nu är som behövs eller om det verkar allt för svårt/tidsödande.
Hehe, kom på en annan ful-lösning. Dunka på en encoder på X-axeln och räkna pulser från den. Men det kanske inte är lättare än att lösa DROn...

Återkommer om hur det går med hackingen.

OOOOM det skulle vara så att någon sitter inne på någon smart idé som inte provats tidigare i tråden så är ni naturligtvis välkommna att höja era röster.

Over and Out
/Tottish
Skriv svar