| |
|
|
- Seite 1 - |
|
Web Scanner | Hallo Xprofan Freunde
mein erster Beitrag - bin hier ein Newbie und habe naturgemäß haufenweise Fragen. Hoffe ich stelle mich nicht zu an. Bissel programmiert habe ich schon. Habe in der Suche leider nix gefunden...
Ich suche eine Routine, mit der ich Zeitbegrenzt, z. B. in einer Ausgabeschleife die Maus abschalten kann.
Grund: Ich gebe über die parallele Schnittstelle Impulse aus. Wenn die Maus bewegt wird, werden durch die Interrupts die Impulse gestört.
Hoffe es kann jemand helfen?
Viele Grüße
Web |
|
|
| |
|
|
|
| |
|
- Seite 1 - |
|
Web Scanner | Auja - Fein Danke!
Genau sowas habe ich gesucht. Werde ich heute mal probieren ob das geht.
Grüße
Web |
|
|
| |
|
|
| |
|
- Seite 2 - |
|
|
| |
|
| |
|
|
|
RGH | ... und so sieht der Code nach XProfan konvertiert aus: KompilierenMarkierenSeparierenDieser Source stammt von http://www.activevb.de
und kann frei verwendet werden. Für eventuelle Schäden
wird nicht gehaftet.
Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
Ansonsten viel Spaß und Erfolg mit diesem Source!
------------- Anfang Projektdatei Project1.vbp -------------
--------- Anfang Formular Form1 alias Form1.frm ---------
Steuerelement: Timersteuerelement Timer1
Steuerelement: Schaltfläche Command1
Steuerelement: Beschriftungsfeld Label1
cls
var Command1& = create(Button, %hWnd, Push Me!, 10, 10, 80, 20)
var Label1& = create(Text, %hWnd, , 10, 40, 400, 20)
var cnt& = 0
Def BlockInput(1) !user32.dll,BlockInput
Def &API_FALSE 0
Def &API_TRUE 1
Proc Command1_Click
SetTimer 500
BlockInput(&API_TRUE)
EndProc
PROC Timer1_Timer
Cnt& = Cnt& + 1
If Cnt& > 10
Cnt& = 0
KillTimer
BlockInput(&API_FALSE)
SetText Label1&,
Else
SetText Label1&, Verbleibende Zeit bis zur Rückstellung: + Format$(0.0, (10 - Cnt&) / 2)
EndIf
EndProc
---------- Ende Formular Form1 alias Form1.frm ----------
-------------- Ende Projektdatei Project1.vbp --------------
HAUPTPROGRAMM
-------------
While 1
WaitInput
If Clicked(Command1&)
Command1_Click
EndIf
Timer1_Timer
EndWhile
End
Gruß Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 19.06.2008 ▲ |
|
|
|
|
Web Scanner | Sauber, vielen Dank Roland, da hab ich jetzt gleich zwei Varianten zum testen.
Grüße
Web |
|
|
| |
|
|
|
GDL | Hi,
ich kenne ja deine Schaltungsdaten nicht, aber hast du schonmal überprüft ob die max. Frequenz mit deiner max. Frequenz vom Schrittmotor übereinstimmt ?
Hast du die 20ms Multitasking vom Windows berücksichtigt ?
Hast du mit einem Oszilloskop dein Steuersignal angesehen ?
Die Schnittstelle gibt nur max. 3,3 Volt aus.Reicht dies für deine Schaltung?(Eingangsspannung) Hast du eine saubere Masseverbindung von Schnittstelle zur Motorschaltung ?
Hast du eine Funk bzw. Lasermaus ? Störstrahlung in die Motorplatine ? Tritt das Problem mit einem anderen PC auch auf ?
Wie groß ist dein Impuls/Pausenverhältnis ? Wie steil sind deine Impulsflanken ?
Wenn nur eine Sache Grenzwertig ist, kann die kleinste Änderung einwirken.
Bei solchen Sachen sind Ferndiagnosen immer schlecht.
Servus Georg
P.S. Ich würde über die Schnittstelle einem Atmel Mikrocontroler nur Frequenzänderungen schicken, dieser erzeugt dann die neue Frequenz und gibt dann saubere Rechteckimpulse der neuen Frequenz an deine Schrittmotorkarte. |
|
|
| |
|
|
|
Web Scanner | Hallo Georg,
soviele Fragen, die den Kern der Sache genau treffen
Also,
rollen wir das ganze von hinten auf. Eine Atmelsteuerung ist dann schon der 2.Schritt und ganz sicher der professionellste Weg. Alles andere ist ungenau und nicht 100%, das weiß ich.. Aber erstmal will ich nur über Windows und die para. Schnittstelle die Ausgaben machen.
Meine Schaltung ist von Ostermann:
www.nc-step.de
Diese Schaltung verarbeitet die parallelen Signale für die Schrittmotore.
Die max. Frequenz der Schrittmotoren erreiche ich nicht. Das ist auch nicht unbedingt das Ziel. Schrittmotore haben bei hoher Drehzahl viel weniger Kraft als bei geringer Drehzahl.
20ms Multitasking vom Windows -- sorry, ähh was ist das bitte?
Hast du mit einem Oszilloskop dein Steuersignal angesehen ? - Noch nicht, kommt aber noch dran
Schaltung funktioniert 1a. Mit anderen Programmen bereits getestet
Grüße
Web |
|
|
| |
|
|
|
GDL | Hi,
also schonmal kein Eigenbau.
Wenn mit anderen Programmen die Schaltung geht, liegt es an deinem Übrtragungsprotokoll; sprich deinem Programm.
Nun wäre interessant zu wissen, was die anderen Programme an deine Karte senden und wie das aussieht was du sendest .
Ich kann mir aber nicht vorstellen das die anderen Programme irgendwas vom PC abschalten.
Nochwas: Bei vielen Firmen erhält man Ansteuerungsprogrammbeispiele auch in einem Basicdialekt.Hast du sowas schon ?
Servus Georg |
|
|
| |
|
|
|
Web Scanner | Hi
möchte nur kurze Rückmeldung geben. Die Sperrung über Blockinput hat die Sache schon entscheidend verbessert. Danke an Alle, für die Infos. Im Moment schlage ich mit Variablen und deren Umwandlung herum . Hex in Sting und umgekehrt usw...
Ich nutze eine OUT(378h,XX) Routine. Die Parallelportadresse will ich durch eine Variable ersetzen, da ich alle 3 LPT Ports ansprechen - können - möchte. Ich bekomme aber ums verecken die 378h nicht in eine Variable gestopft. Weiss jemand Rat?
Grüße
Web |
|
|
| |
|
|
|
| Mach aber bitte nen neuen Thread wenn sich das Thema grob ändert.
378h ist in XProfan $378, wenn 378h im String liegt kannst diesen einfach per val($+s) nach z.B. float oder long umwandeln denn das h wird von val ignoriert. Findet val ein $ als erstes Zeichen so wird es die nachfolgende Zahl als Hex betrachten und einen dezimalen Rückgabewert zurückliefern. KompilierenMarkierenSeparieren Wenn Du es als Konstante im Code hast nimmste einfach das h hinten weg und setzt ein $ vorne heran - $378. |
|
|
| |
|
|
|
RGH | Hallo,
376h bedeutet hier einen Hexadezimalen Wert, in XProfan also $376: KompilierenMarkierenSeparieren Zum Weiterlesen empfohlen: Die XProfan-Hilfe, Kapitel 7.9 Zahlensysteme.
Gruß Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 23.06.2008 ▲ |
|
|
|
|
Web Scanner | Super Support , hier bleibe ich Neues Thema ist ok. Das Nächste wird extra gemacht
Danke für Eure Hilfe. Wird heute abend probiert. @Roland, ohne Deine X-Profan -Hilfe könnte ich wirklich nicht programmieren. Die habe ich doch noch nicht genug studiert und verstanden
Viele Grüße
Web |
|
|
| |
|
|
|
Web Scanner | Der Tipp vom Roland war wieder der richtige, geht so einwandfrei
Danke & Grüße
Web |
|
|
| |
|
|