A
alpk
Guest
Hej,
Dette er mit første indlæg her, så forhåbentlig mit spørgsmål har fundet det rette forum området.
I øjeblikket arbejder for et firma, der fremstiller automatiske plasma kuttere.Jeg er en programmør ved handel med erfaring i C , Java, Delphi, PHP, C & Pascal i rækkefølge efter personlige præferencer.For en kodning junkie, jeg har en god teoretisk viden om elektronisk hardware, logiske kredsløb, binære operationer og så videre.Jeg er ikke bange for at få mine hænder beskidte på lavt niveau design.Problemet er, at jeg mangler viden og endnu vigtigere praktisk erfaring inden for automatiserede maskiner og robotter.
Det vigtigste aspekt af mit nuværende projekt omfatter opgradering af udformningen af et plasma skæremaskine til at bruge USB i stedet for LPT-port til PC-til-maskine-grænseflade.Dette er for at drage fordel af tilgængelighed og omkostningseffektivitet af USB-rede edb-systemer i modsætning til forældede, og mere vanskeligt at kilden og efterhånden dyre LPT-baserede systemer.
Plasma skæremaskine selv består af stepper motorer og forskellige hydrauliske væddere, der kontrolleres af en kabelforbundet-in bærbar computer, som ikke er et nyt koncept.Placeringen af skærehovedet er kontrolleret af en strøm af bytes.Hver byte er en anden kommando fortæller maskinen, hvad de skal gøre næste.Der er ingen kompliceret automatisk hardware logik.For eksempel maskinen modtager en kommando til at styrke den x-stepmotor et skridt med uret, og samtidig sænke skæret og tænde flammen, i en enkelt byte.Det er et simpelt system, men det fungerer ganske godt.
Flere USB-til-LPT-adaptere og parallelle PCMCIA-grænseflader, blev testet med utilfredsstillende resultater.Efter en lille smule af forskning på dette problem syntes at være et simpelt spørgsmål om at få fat i en sort boks USB-enhed, såsom USBMicro U421, og ændre softwaren til at indstille pinouts på U421, at maskinen så kunne 'læse' i på samme måde læse linjerne i det parallelle interface.Beslutningen om at bruge U421 blev lavet, før jeg blev ansat til at gøre arbejdet, så på nuværende tidspunkt det er, hvad jeg har at arbejde med.Mere information kan findes på h ** p: / / www.usbmicro.com hvis det hjælper.
Efter en sjov uge eller to brugte proppe den gamle Turbo Pascal koden i Delphi, udførte jeg en live test.Den gode nyhed som et resultat af denne test var, at USB-interface fungerer perfekt for så vidt som at få kommandoer til maskinen og gøre det gøre sine ting.
De dårlige nyheder, og det springende punkt i mit problem er, at maskinen skærer mønsteret på et skrækkeligt langsomt tempo, på omkring 3 sekunder pr centimeter.Ikke et godt resultat.
Jeg indsnævret problemet lidt ned.Når maskinen er tilsluttet til pc'en via USB-interface, skærmen output viser, hvor langsom maskinen arbejder.Hvis jeg så tage USB-adapter halvvejs gennem mønsteret på skærmen output hastigheder op og resten af det mønster udfører meget hurtigt.Programmet er stadig forsøger at skrive til en USB-enhed, der ikke længere er til stede, men da den ikke længere tilknyttet føreren skal springe over den kode, der faktisk gør det skriver operationen.
Hvad jeg tror, der sker, er en vis forsinkelse i skriftligt til USB-interface er årsag til afmatningen.Jeg har en fornemmelse af dette er et hardware problem med U421.Der er en chance for, at det er software-relateret, men føreren, der med U421 (USBm.dll) er ikke open source.Det betyder, at jeg kan ikke umiddelbart finde ud af præcist, hvordan softwaren fungerer på et lavt niveau uden en masse af run-time debugging.
Der kunne være et problem med hastighed på grund af byte der bliver skrevet i serie, snarere end i en direkte hukommelse skrive til en parallel port.Jeg formoder, at med den høje hastighed af USB dette bør ikke være et problem.Hvis den "potentielle" hastighed af USB-port (også 1.1) langt overstiger de kapaciteter LPT ved overførsel af bytes, så jeg er nødt til at antage, at U421 selve hardwaren er simpelthen ikke hurtigt nok for denne ansøgning.Måske en firewire eller USB2 løsning er rentabel?
Et andet alternativ, som jeg fandt var, at på grund af den høje hastighed på min computer, er det Stepper Motors ikke ramping rigtigt op og kommandoer til at bevæge sig kommer for hurtigt for dem at nå deres ønskede driftsfrekvens.Helt ærligt, hvornår koden er noget rod, ved hjælp af en ad hoc-ordning for forsinkelser og tomme for-løkker, og er potentielt (99,5% sikkert) buggy.Men det speedup, der forekommer i den software, når USB-enheden er frakoblet midten mønster fortæller mig noget faktisk sker i processen med at skrive bytes til U421, der holder op selve programmet.
Har nogen oplevet denne form for afmatning problemer med USB forhold til LPT?Hvis ja, er der nogen ideer om, hvad der kan gøres ved det?Er der nogen nemme og billige løsninger som et alternativ til en out-of-the-box enheden som U421?Min halv kvalificeret gæt er, at USB-enheden, vi bruger nu, til at interface maskinen til PC er ikke hurtig nok til denne ansøgning, og vi kan være nødvendigt at se på eventuelt at finde en måde at bruge USB2 og Firewire, eller nogle andre system.Men, jeg ikke rigtig kender, og de sagkyndiges udtalelse ville virkelig hjælpe en hel del.
Hvis nogen kan pege mig i den rigtige retning, det ville være meget værdsat.
Skål,
Alex
Dette er mit første indlæg her, så forhåbentlig mit spørgsmål har fundet det rette forum området.
I øjeblikket arbejder for et firma, der fremstiller automatiske plasma kuttere.Jeg er en programmør ved handel med erfaring i C , Java, Delphi, PHP, C & Pascal i rækkefølge efter personlige præferencer.For en kodning junkie, jeg har en god teoretisk viden om elektronisk hardware, logiske kredsløb, binære operationer og så videre.Jeg er ikke bange for at få mine hænder beskidte på lavt niveau design.Problemet er, at jeg mangler viden og endnu vigtigere praktisk erfaring inden for automatiserede maskiner og robotter.
Det vigtigste aspekt af mit nuværende projekt omfatter opgradering af udformningen af et plasma skæremaskine til at bruge USB i stedet for LPT-port til PC-til-maskine-grænseflade.Dette er for at drage fordel af tilgængelighed og omkostningseffektivitet af USB-rede edb-systemer i modsætning til forældede, og mere vanskeligt at kilden og efterhånden dyre LPT-baserede systemer.
Plasma skæremaskine selv består af stepper motorer og forskellige hydrauliske væddere, der kontrolleres af en kabelforbundet-in bærbar computer, som ikke er et nyt koncept.Placeringen af skærehovedet er kontrolleret af en strøm af bytes.Hver byte er en anden kommando fortæller maskinen, hvad de skal gøre næste.Der er ingen kompliceret automatisk hardware logik.For eksempel maskinen modtager en kommando til at styrke den x-stepmotor et skridt med uret, og samtidig sænke skæret og tænde flammen, i en enkelt byte.Det er et simpelt system, men det fungerer ganske godt.
Flere USB-til-LPT-adaptere og parallelle PCMCIA-grænseflader, blev testet med utilfredsstillende resultater.Efter en lille smule af forskning på dette problem syntes at være et simpelt spørgsmål om at få fat i en sort boks USB-enhed, såsom USBMicro U421, og ændre softwaren til at indstille pinouts på U421, at maskinen så kunne 'læse' i på samme måde læse linjerne i det parallelle interface.Beslutningen om at bruge U421 blev lavet, før jeg blev ansat til at gøre arbejdet, så på nuværende tidspunkt det er, hvad jeg har at arbejde med.Mere information kan findes på h ** p: / / www.usbmicro.com hvis det hjælper.
Efter en sjov uge eller to brugte proppe den gamle Turbo Pascal koden i Delphi, udførte jeg en live test.Den gode nyhed som et resultat af denne test var, at USB-interface fungerer perfekt for så vidt som at få kommandoer til maskinen og gøre det gøre sine ting.
De dårlige nyheder, og det springende punkt i mit problem er, at maskinen skærer mønsteret på et skrækkeligt langsomt tempo, på omkring 3 sekunder pr centimeter.Ikke et godt resultat.
Jeg indsnævret problemet lidt ned.Når maskinen er tilsluttet til pc'en via USB-interface, skærmen output viser, hvor langsom maskinen arbejder.Hvis jeg så tage USB-adapter halvvejs gennem mønsteret på skærmen output hastigheder op og resten af det mønster udfører meget hurtigt.Programmet er stadig forsøger at skrive til en USB-enhed, der ikke længere er til stede, men da den ikke længere tilknyttet føreren skal springe over den kode, der faktisk gør det skriver operationen.
Hvad jeg tror, der sker, er en vis forsinkelse i skriftligt til USB-interface er årsag til afmatningen.Jeg har en fornemmelse af dette er et hardware problem med U421.Der er en chance for, at det er software-relateret, men føreren, der med U421 (USBm.dll) er ikke open source.Det betyder, at jeg kan ikke umiddelbart finde ud af præcist, hvordan softwaren fungerer på et lavt niveau uden en masse af run-time debugging.
Der kunne være et problem med hastighed på grund af byte der bliver skrevet i serie, snarere end i en direkte hukommelse skrive til en parallel port.Jeg formoder, at med den høje hastighed af USB dette bør ikke være et problem.Hvis den "potentielle" hastighed af USB-port (også 1.1) langt overstiger de kapaciteter LPT ved overførsel af bytes, så jeg er nødt til at antage, at U421 selve hardwaren er simpelthen ikke hurtigt nok for denne ansøgning.Måske en firewire eller USB2 løsning er rentabel?
Et andet alternativ, som jeg fandt var, at på grund af den høje hastighed på min computer, er det Stepper Motors ikke ramping rigtigt op og kommandoer til at bevæge sig kommer for hurtigt for dem at nå deres ønskede driftsfrekvens.Helt ærligt, hvornår koden er noget rod, ved hjælp af en ad hoc-ordning for forsinkelser og tomme for-løkker, og er potentielt (99,5% sikkert) buggy.Men det speedup, der forekommer i den software, når USB-enheden er frakoblet midten mønster fortæller mig noget faktisk sker i processen med at skrive bytes til U421, der holder op selve programmet.
Har nogen oplevet denne form for afmatning problemer med USB forhold til LPT?Hvis ja, er der nogen ideer om, hvad der kan gøres ved det?Er der nogen nemme og billige løsninger som et alternativ til en out-of-the-box enheden som U421?Min halv kvalificeret gæt er, at USB-enheden, vi bruger nu, til at interface maskinen til PC er ikke hurtig nok til denne ansøgning, og vi kan være nødvendigt at se på eventuelt at finde en måde at bruge USB2 og Firewire, eller nogle andre system.Men, jeg ikke rigtig kender, og de sagkyndiges udtalelse ville virkelig hjælpe en hel del.
Hvis nogen kan pege mig i den rigtige retning, det ville være meget værdsat.
Skål,
Alex