Erfahrungen mit SMC 800???

Microcontroller, Steuerungen, Protokolle und und und.

Moderators: thomasf, random

Post Reply
moflash
Posts: 14
Joined: Sun 22 Feb, 2004 8:28 pm
Location: Erkrath, NRW

Erfahrungen mit SMC 800???

Post by moflash » Tue 24 Feb, 2004 4:14 pm

Hallo,

ich habe mir bei einem Freund die Stepper-Karte SMC 800 ausgeliehen. Habe 2 Tandon KP4M2-203 Stepper und 24V bei 300mA drangeklemmt, aber nix geht.

Habt Ihr Erfahrungen mit der Karte gemacht???

Grüße Moritz

User avatar
guido
Posts: 6448
Joined: Thu 20 Dec, 2001 12:00 pm
Do you already have Laser-Equipment?: Easylase, Netlase, Laser von 1..15W.
Entwickler von Dynamics + Mamba X4 .
Lasershow Hard / Software .
Location: 32469 Petershagen
Contact:

smc 800

Post by guido » Tue 24 Feb, 2004 5:41 pm

hatte so ein teil mal vor einem jahr oder mehr..Kerschr....

Ansteuerung mit nix kompatibel , musst du selber was proggen.
Standartfreeware geht nicht. gehört aber ne DOS-Software dazu
(lag bei meiner mit bei )
vieleicht gibts die ja bei conrad noch

moflash
Posts: 14
Joined: Sun 22 Feb, 2004 8:28 pm
Location: Erkrath, NRW

Post by moflash » Tue 24 Feb, 2004 5:55 pm

Hi Guido,

ich habe die Soft installiert (allerdings Dos-Box unter WinXP) und alles angeschlossen, aber das *** Ding geht nicht. Kann es sein, dass man das Tool wirklich unter real DOS laufen lassen muss? Also alten Rechner in den Keller schleppen?

Zur Kompatibilität: Die Treiber sind in C und in TurboPascal mit auf der Diskette(!). Hab aber von beiden Sprachen keine Ahnung :(

User avatar
tracky
Posts: 4869
Joined: Tue 11 Mar, 2003 1:51 pm
Do you already have Laser-Equipment?: Hat sich im Laufe der Jahre doch einiges angesammelt
Location: Germany, Seefeld bei Werneuchen
Contact:

Post by tracky » Tue 24 Feb, 2004 6:17 pm

unter XP wird es wohl nicht gehen, da XP keine Hardwarezugriffe aus der "DOS Ebene" zulässt. Also bis ME sollte es aber noch gehen, ohne Garantie. Besorge Dir mal nen Emulator für 95/98 und führe den auf XP aus, das sollte auch gehen. Eventuell lassen sich die Adressen mit dem Patch von Guidos Popelscan überlisten. Frag mal bei ihm direkt an.
Gruß Sven

Laser? Was ist das? Licht aus super erschwinglichen Restbeständen

User avatar
guido
Posts: 6448
Joined: Thu 20 Dec, 2001 12:00 pm
Do you already have Laser-Equipment?: Easylase, Netlase, Laser von 1..15W.
Entwickler von Dynamics + Mamba X4 .
Lasershow Hard / Software .
Location: 32469 Petershagen
Contact:

unter dos

Post by guido » Tue 24 Feb, 2004 9:38 pm

ich hab mal was geproggt aber noch zu "läuft nicht unter XP" zeiten.
war auch ziemlich simpel, nur bewegen, keine rampen, keine endschalter..
war der eigenbauversuch einer cnc fräse...endete als ebayartikel

moflash
Posts: 14
Joined: Sun 22 Feb, 2004 8:28 pm
Location: Erkrath, NRW

Post by moflash » Tue 24 Feb, 2004 9:56 pm

Guido, kennst Du Dich mit C++ aus? :D :D

Habe die kompletten Treiber für die Karte da. Müsste nur noch eine Oberfläche haben, mit der ich einfache Muster in das Format der Karte bringen kann. Vielleicht kannst Du mir ein paar Tipps geben??? Das wäre echt super :D

Übringens: Mit Win95 klappt die Karte hervorragend.

User avatar
eiergeier
Posts: 453
Joined: Wed 08 Nov, 2000 12:00 pm
Do you already have Laser-Equipment?: ALLES UND NICHTS
Location: Österreich / Wien / Wien
Contact:

Post by eiergeier » Sat 27 Mar, 2004 7:23 am

Hi :lol:

Habe die SMC 1500 mit der software PC-NC auf einem alten Laptop laufen (unter DOS) und betreibe damit meine CNC. bin eigentlich vom können der software und der karte sehr zufrieden.
es ist aber sinnvoll die karte auf 36 Volt umzubauen um die geschwindigkeit zu erhöhen (der hersteller sendet euch die daten auf anfrage) :!:

Grüsse
Andi :mrgreen:
Gratis Downloads für ALLE -> http://www.derschatz.eu

theguard
Posts: 2
Joined: Tue 10 Jan, 2012 10:32 pm
Do you already have Laser-Equipment?: no comment

Re: Erfahrungen mit SMC 800???

Post by theguard » Tue 10 Jan, 2012 10:46 pm

Hi

Ich habe auch die SMC 800 bestellt gehabt und wollte das Programm ändern, aber das geht ja nicht, weil es DOS-Befehle drin hat, die man nicht mehr compilen kann. Deswegen habe ich ein Programm erstellt. Es hat ganz einfach Befehle und damit geht es auf XP wunderbar =) Hier der Code (dll nicht vergessen im gleichen Ordner zu haben, wie die exe Datei):

#include <windows.h>
#include <stdio.h>
#include <iostream>
#include <sys/time.h>
#include <unistd.h>
#include <math.h>

// Definition der Veralteten inp() und outp() funktionen
typedef short _stdcall (*inpfuncPtr)(short portaddr);
typedef void _stdcall (*oupfuncPtr)(short portaddr, short datum);

HINSTANCE hLib;
inpfuncPtr inp;
oupfuncPtr outp;

unsigned int _LPT;
unsigned char MptrX, MptrY;
int AbsPosX, AbsPosY;

unsigned char MOTTAB[8] = {0x27, 0x2D, 0x1C, 0x0D, 0x03, 0x09, 0x38, 0x29};
unsigned char STANDBY[8] = {0x37, 0x36, 0x1E, 0x16, 0x13, 0x12, 0x3A, 0x32};
unsigned char Next_Value;

bool pendown;

void SMC800setPort(unsigned int INport)
{
_LPT = INport;
}

void SMC800Delay(unsigned int steps)
{
unsigned int i = 0;
while (i < steps)
++i;
}

void SMC800Mout(unsigned char Out_Val) /* Portausgabe */
{
unsigned int _STB;
_STB = _LPT + 2;
outp(_LPT, Out_Val);
SMC800Delay(500000);
outp(_STB, 1);
outp(_STB, 0);

return;
}

void SMC800Pen_down(void)
{
if (!pendown)
{
unsigned char Next_Value;
Next_Value = 0x87;
Sleep(100);
SMC800Mout(Next_Value);
pendown = true;
Sleep(100);
}

return;
}

void SMC800Pen_up(void)
{
if (pendown)
{
unsigned char Next_Value;
Next_Value = 0x9B;
Sleep(100);
SMC800Mout(Next_Value);
pendown = false;
Sleep(100); /* Zeit: 196897 = 165 msec. */
return;
}
}

void SMC800MoveX(int steps)
{
if (steps != 0)
{
if (steps > 0)
{
for (int i = 0; i<steps;i++)
{
MptrX++;
if (MptrX > 7)
MptrX = 0;
Next_Value = MOTTAB[MptrX];
SMC800Mout(Next_Value);
AbsPosX++;
}
}
else
{
for (int i = 0; i>steps;i--)
{
MptrX--;
if (MptrX > 7)
MptrX = 7;
Next_Value = MOTTAB[MptrX];
SMC800Mout(Next_Value);
AbsPosX--;
}
}
}
}

void SMC800MoveY(int steps)
{
if (steps != 0)
{
if (steps > 0)
{
for (int i = 0; i<steps;i++)
{
MptrY++;
if (MptrY > 7)
MptrY = 0;
Next_Value = MOTTAB[MptrY] + 64;
SMC800Mout(Next_Value);
AbsPosY++;
}
}
else
{
for (int i = 0; i>steps;i--)
{
MptrY--;
if (MptrY > 7)
MptrY = 7;
Next_Value = MOTTAB[MptrY] + 64;
SMC800Mout(Next_Value);
AbsPosY--;
}
}
}
}

void SMC800Standby()
{
Next_Value = STANDBY[MptrX];
SMC800Mout(Next_Value);
Next_Value = STANDBY[MptrY] + 64;
SMC800Mout(Next_Value);
}

int SMC800initialize()
{
MptrX = 0;
MptrY = 0;
// Lade Dll um veraltete Funktionen zu ersetzen
hLib = LoadLibrary("inpout32.dll");
if (hLib == NULL) {
printf("LoadLibrary Failed.\n");
return -1;
}
inp = (inpfuncPtr) GetProcAddress(hLib, "Inp32");
if (inp == NULL) {
printf("GetProcAddress for Inp32 Failed.\n");
return -1;
}

outp = (oupfuncPtr) GetProcAddress(hLib, "Out32");
if (outp == NULL) {
printf("GetProcAddress for Oup32 Failed.\n");
return -1;
}
pendown = false;
SMC800Pen_up();

}

void SMC800Ref()
{
SMC800MoveX(-32);
Sleep(200);
SMC800MoveX(32);
SMC800MoveY(-32);
Sleep(200);
SMC800MoveY(32);

AbsPosX = 0;
AbsPosY = 0;
}

double distanceSquare(int x, int y)
{
return sqrt(x*x+y*y);
}

void SMC800GoTo(int absx, int absy)
{
int startx = AbsPosX;
int starty = AbsPosY;
while (absx != AbsPosX || absy != AbsPosY)
{
double tempdist, tempdist2, accdist;
double dist = 9999999;
int dircase = -1;

accdist = distanceSquare(absx-(AbsPosX),absy-AbsPosY);

tempdist2 = distanceSquare(absx-(AbsPosX+1),absy-AbsPosY);
if (accdist > tempdist2)
{
tempdist = tempdist2+distanceSquare(startx-(AbsPosX+1),starty-AbsPosY);
if (tempdist < dist)
{
dist = tempdist;
dircase = 0;
}
}
tempdist2 = distanceSquare(absx-(AbsPosX-1),absy-AbsPosY);
if (accdist > tempdist2)
{
tempdist = tempdist2+distanceSquare(startx-(AbsPosX-1),starty-AbsPosY);
if (tempdist < dist)
{
dist = tempdist;
dircase = 1;
}
}
tempdist2 = distanceSquare(absx-(AbsPosX),absy-(AbsPosY+1));
if (accdist > tempdist2)
{
tempdist = tempdist2+distanceSquare(startx-(AbsPosX),starty-(AbsPosY+1));
if (tempdist < dist)
{
dist = tempdist;
dircase = 2;
}
}
tempdist2 = distanceSquare(absx-(AbsPosX),absy-(AbsPosY-1));
if (accdist > tempdist2)
{
tempdist = tempdist2+distanceSquare(startx-(AbsPosX),starty-(AbsPosY-1));
if (tempdist < dist)
{
dist = tempdist;
dircase = 3;
}
}
tempdist2 = distanceSquare(absx-(AbsPosX+1),absy-(AbsPosY+1));
if (accdist > tempdist2)
{
tempdist = tempdist2+distanceSquare(startx-(AbsPosX+1),starty-(AbsPosY+1));
if (tempdist < dist)
{
dist = tempdist;
dircase = 4;
}
}
tempdist2 = distanceSquare(absx-(AbsPosX-1),absy-(AbsPosY+1));
if (accdist > tempdist2)
{
tempdist = tempdist2+distanceSquare(startx-(AbsPosX-1),starty-(AbsPosY+1));
if (tempdist < dist)
{
dist = tempdist;
dircase = 5;
}
}
tempdist2 = distanceSquare(absx-(AbsPosX+1),absy-(AbsPosY-1));
if (accdist > tempdist2)
{
tempdist = tempdist2+distanceSquare(startx-(AbsPosX+1),starty-(AbsPosY-1));
if (tempdist < dist)
{
dist = tempdist;
dircase = 6;
}
}
tempdist2 = distanceSquare(absx-(AbsPosX-1),absy-(AbsPosY-1));
if (accdist > tempdist2)
{
tempdist = tempdist2+distanceSquare(startx-(AbsPosX-1),starty-(AbsPosY-1));
if (tempdist < dist)
{
dist = tempdist;
dircase = 7;
}
}

switch (dircase)
{
case 0:
SMC800MoveX(1);
break;
case 1:
SMC800MoveX(-1);
break;
case 2:
SMC800MoveY(1);
break;
case 3:
SMC800MoveY(-1);
break;
case 4:
SMC800MoveX(1);
SMC800MoveY(1);
break;
case 5:
SMC800MoveX(-1);
SMC800MoveY(1);
break;
case 6:
SMC800MoveX(1);
SMC800MoveY(-1);
break;
case 7:
SMC800MoveX(-1);
SMC800MoveY(-1);
break;
}
}
}

void SMC800GoToZero()
{
SMC800Pen_up();
SMC800GoTo(0,0);
}
You do not have the required permissions to view the files attached to this post.

User avatar
thomasf
Posts: 1262
Joined: Sun 06 Oct, 2002 12:00 pm
Do you already have Laser-Equipment?: YES
Location: Berlin
Contact:

Re: Erfahrungen mit SMC 800???

Post by thomasf » Tue 10 Jan, 2012 11:01 pm

Hi,

deine bemühen in allen Ehren, aber das wird hier keiner mehr nutzen.

Thomas

User avatar
Gooseman
Posts: 468
Joined: Sun 12 Oct, 2003 4:16 pm
Location: HB
Contact:

Re: Erfahrungen mit SMC 800???

Post by Gooseman » Tue 10 Jan, 2012 11:02 pm

Ist das ein neuer Rekord in alte Sachen raus suchen und Antworten,
mit Knapp 8 (ACHT) Jahre ?????
Ciao!
Gooseman

theguard
Posts: 2
Joined: Tue 10 Jan, 2012 10:32 pm
Do you already have Laser-Equipment?: no comment

Re: Erfahrungen mit SMC 800???

Post by theguard » Wed 11 Jan, 2012 1:02 pm

Hehe, ich musste doch, wenn ich mir die Mühe schon machte, meine Arbeit auch online stellen :wink:

Post Reply

Return to “Microcontroller & Steuerungen”

Who is online

Users browsing this forum: No registered users and 4 guests