Forum: PC-Programmierung VB2005-DLL einbinden


von juppi (Gast)


Lesenswert?

hallo Leute

habe schon über ein jahr  eine ausg.karte
P8055-1 Velleman 2003
8bit aus
5bit ein
2 DA-Wandler
2 AD-wandler

Pc-usb
Demo Prog Funktioniert
habe mich mit VB2005 beschäftigt.
Leider konnte ich die DLL nicht einbinden oder es geht nicht

zusatzfrage
VB 2005 ser. RS232 Ausgabe klappt nur mit sieben Bit (keine textausg.)
Ich brauche aber 8Bit Daten Ausgabe.

ich brauche  8byte (daten)
mache es aber jetzt mit 10 Byte (7 Bit pro Byte)
ist auch nicht schwer aber nicht gut.

bitte keine Hinweise zu engl.seiten.

Danke

von Niels H. (monarch35)


Lesenswert?

juppi wrote:

> ich brauche  8byte (daten)
> mache es aber jetzt mit 10 Byte (7 Bit pro Byte)
> ist auch nicht schwer aber nicht gut.

???!!???

> bitte keine Hinweise zu engl.seiten.

Verständlich...bei dem deutsch...

von juppi (Gast)


Lesenswert?

Niels Hüsken

>Verständlich...bei dem deutsch...

na und !?
fachlich hast'e was drauf oder bist'e nur trollig

von Bastler (Gast)


Lesenswert?

Was, "na und" ???

Wenn man Hilfe erbittet, sollte man sich auch wenigstens ein wenig Mühe 
bei der Formulierung der Frage geben.
Ich verstehe nämlich auch kein Wort von Deinem "Geschreibsel".

von Niels H. (monarch35)


Lesenswert?

juppi wrote:

>>Verständlich...bei dem deutsch...

> na und !?

Na Und?! Na du bist ja drollig.
Also zum Einen dürfte hier dein Posting ziemlich fehlplatziert sein, zum 
Anderen habe ich von diesen drei Absätzen kein Wort verstanden.

von Link (Gast)


Lesenswert?


von juppi (Gast)


Lesenswert?

@ Link (Gast)

danke

er hat's verstanden

@Niels Hüsken (monarch35)
@Bastler (Gast)

dann werden es die verstehen welche das problem schon kennen.
oder wenn es euch interessiet dan fragt konkret nach

habt noch nicht mal gesagt wo das Posting gut plaziert ist!

von Niels H. (monarch35)


Lesenswert?

Es gibt echt Leute, die sind in ihrer Dreistigkeit 
unerreichbar...*kopfschüttel*

Muss echt schwer sein, so eine Suchmaschine zu bedienen.

von Bastler (Gast)


Lesenswert?

Ja, denn sie kommt mit Abkürzungen nicht klar.

von juppi (Gast)


Lesenswert?

hallo
@Niels Hüsken (monarch35)
@Bastler (Gast)

regt euch ab!
wenn ihr in meine jahre kommt
werdet ihr vieleicht gar nicht mehr schreiben können.
ist nicht bös gemeint

und jetzt weiter ?
was habt ihr nicht verstanden  (aber bitte nicht alles)
diese kurzfassungen wurden von meinen leuten vor 35 J auch verstanden.
in meisten fällen reicht es wenn die butter auf dem brot ist.
Muß nicht noch geschmiert werden.

also immer höflich

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Eine Antwort kann gerne knapp gehalten sein, eine Frage aber wird 
dadurch erst recht unverständlicher.

Außerdem ist es eine Frage der Umgangsformen, ob man als Fragender eine 
verständliche und höfliche Frage stellt, oder ob man einen 
unstrukturierten Batzen irgendwo hinrotzt und das mit einer 
überdimensionierten Erwartungshaltung koppelt.

Und das ist keine Frage des Alters.

von Niels H. (monarch35)


Lesenswert?

Ich bin höflich, aber direkt. Dreist ist es nach meiner Meinung, eine 
Frage zu formulieren ohne auf Verständlichkeit zu achten und dann auch 
noch pampig werden, wenn man nachfragt.

Du sagtest:

> ich brauche  8byte (daten)
> mache es aber jetzt mit 10 Byte (7 Bit pro Byte)

Das bezieht sich auf was? Wenn nicht mit VB, womit machst du es jetzt?

> ist auch nicht schwer aber nicht gut.

was soll nicht schwer sein? wieso nicht gut? Häh?

von juppi (Gast)


Lesenswert?

Hallo

 @Rufus t. Firefly (rufus) (Moderator

wenn meine formulierung nicht exakt genug ist ,werde ich es versuchen zu 
verbessern.
leider habe ich eine schreib-lese schwache und schwierigkeiten mit 
Händen und Fingern.
zudem bin ich schon 15 J Rentner.
Deshalb halte ich mich sehr kurz.
für mich ist sehr schwer zu sehen wenn auf fachliche Fragen
indirekt oder direkt auf meine schreibschwäche eingegangen wird.

Ich bin der Meinung,das wer diese Probleme(in anfrage), schon hatte 
sollte Antworten.
bekomme ich keine werde ich es anders versuchen.
Ich halte es auch so,wenn ich es verstehe kann ich antworten,
wenn nicht keine Antwort.
Interessiert es mich werde ich konkret nachfragen.
sollte ich mich falsch artikuliert haben und sich jemand beleidigt fühlt
>>>endschuldige ich mich hiermit.

jetzt
@Niels Hüsken (monarch35
Ich will 8Byte  seriell in Visual Basic  ausgeben.
es weden immer nur 7 Bit pro daten byte ausgegeben.
Das sin 64 Bit daten die ich senden will.
wenn aber pro byte nur 7 bit information enthalten
sind das 8*7=56 Bit .
ich brauche aber 64   --also muß ich noch 2byte  mehr senden.
56+7=63 reicht nicht  +7 -> 70  jetzt reicht es
Da aber alles Bytweise im bei mir im Pc passiert
wandle ich die 64 Bit (8 Byte) in 7er Gruppen um,
dann kann ich sie senden.

die Gegenstelle decodiert dies und macht daraus wieder ( byte (64 Bit)
einfacher und schneller ist natürlich wenn ich nur 8 Byte empfange.

> habe schon über ein jahr  eine ausg.karte
>P8055-1 Velleman 2003
>8bit aus
>5bit ein
>2 DA-Wandler
>2 AD-wandler

>Pc-usb
>Demo Prog Funktioniert
>habe mich mit VB2005 beschäftigt.
>Leider konnte ich die DLL nicht einbinden oder es geht nicht

was ist hier nicht verständlich
vieleicht dies

>Pc-usb  Karte hat USB anschluß
>Demo Prog Funktioniert   zur Krte mit geliferte Software



MfG

von Niels H. (monarch35)


Lesenswert?

juppi wrote:
> leider habe ich eine schreib-lese schwache und schwierigkeiten mit
> Händen und Fingern.

Wenn man sowas vorweg sagt, ist das überhaupt kein Problem.

> zudem bin ich schon 15 J Rentner.

Ich sehe keinen zusammenhang zwischen deinem Alter und einer 
Legasthenie. Auch MS kann man schon mit 30 bekommen. Deshalb find' ich 
die information jetzt etwas nutzlos...

Ausserdem hilft es nicht über das Problem hinweg. Wenn du Fragen 
einstellst, die keiner Versteht, kannst du noch sooft erwähnen, wie alt 
du bist. Naja, schwamm drüber...

> Ich will 8Byte  seriell in Visual Basic  ausgeben.
> es weden immer nur 7 Bit pro daten byte ausgegeben.

Sprichst du gerade von der seriellen Schnittstelle am PC? Oder vom 
K8055?
Soweit ich weiss, sollte es eigentlich nirgens ein Problem sein, eine 
Schnittstelle von 7Bit auf 8Bit umzuschalten.

> was ist hier nicht verständlich
> vieleicht dies
>
>>Pc-usb  Karte hat USB anschluß
>>Demo Prog Funktioniert   zur Krte mit geliferte Software

Nein, der Absatz war verständlich. Den hab ich nicht gemeint.

von Bastler (Gast)


Lesenswert?

Schau mal hier:

http://www.velleman.be/downloads/0/user/usermanual_k8055_dll_uk.pdf

auf Seite 13.

Beantwortet das Deine Frage zur DLL ?

von Niels H. (monarch35)


Lesenswert?

Bastler wrote:
> http://www.velleman.be/downloads/0/user/usermanual_k8055_dll_uk.pdf
>
> auf Seite 13.

Soweit ich weiss, kann VB2005 keinen nativen WindowsCode mehr erzeugen, 
sondern nur noch .NET. Ich glaube, für den abgebildeten Code braucht man 
VisualSTudio6 bzw Visual Basic 6.

von Bastler (Gast)


Lesenswert?

Achso, wusste ich nicht.

Ich programmiere nicht in Basic.

von Niels H. (monarch35)


Lesenswert?

Bastler wrote:

> Achso, wusste ich nicht.

Ich bin auch kein Windowsprogrammierer. Ich stelle nur Vermutungen an. 
Vieleicht könnte wer anders das mal bestätigen?

von Bastler (Gast)


Lesenswert?


von juppi (Gast)


Lesenswert?

@Bastler (Gast)

Danke! da war ich schon vorher

@Niels Hüsken (monarch35)

Danke! das kannte ich
habe es aber nicht zum laufen gebracht.

deswegen suchte ich EINEN der mit VB2005 diese karte Ansteuert.
diese karte hat eine sehr langsame befehlsverarbeitung,
aber für eine Modelleisenbahn reichts.
wer dies schon gemacht hat wird auch aus meiner Fragestellung schlau.


>zusatzfrage
>VB 2005 ser. RS232 Ausgabe klappt nur mit sieben Bit (keine textausg.)
>Ich brauche aber 8Bit Daten Ausgabe.

Ich will seriell mit VB2005 8Bit daten pakete ausgeben.

Trotz allen möglichen versuchen in VB  werden immer nur 7 Bit 
DatenPakete ausgegeben.

Um mein Projekt schnell zu beenden mußte ich also mit 7 Bit DatenPaketen 
arbeiten und das ist nicht gut.


@ Rufus t. Firefly (rufus) (Moderator)

>Eine Antwort kann gerne knapp gehalten sein, eine Frage aber wird
>dadurch erst recht unverständlicher.

>Außerdem ist es eine Frage der Umgangsformen, ob man als Fragender eine
>verständliche und höfliche Frage stellt, oder ob man einen
>>unstrukturierten Batzen irgendwo hinrotzt und das mit einer
>überdimensionierten Erwartungshaltung koppelt.

>Und das ist keine Frage des Alters


Meinen Freunden habe ich dies gezeigt.
Sie sind der Meinung das die Frage für den Personenkreis
welche kenntnis davon haben exakt genug ist.
Zitat.
Deine Antwort ist sachlich nicht Korekt.
Ein spruch der schon vor 50 jahren galt

>>>Es gibt keine dummen Fragen,nur dumme Antworten

P.S.
Ich fühle mich nicht angegriffen ! Habe schon zuviel erlebt.

MfG
juppi

von Stefan B. (stefan) Benutzerseite


Lesenswert?

juppi,

du schreibst einige Male von "allen möglichen versuchen in VB".

Es wäre IMHO einfacher, wenn du deine Versuche an deine Fragen anhängst. 
Dann könnte sich auch ein beliebiger (VB-)Programmierer der Sache 
annehmen, ohne dass er exakte Kenntnis von der P8055-DLL haben muss.

Und um die Sache fett zu machen, könntest du einen Link zur 
Dokumentation oder zu Democode der P8055-DLL angeben.

Kurz:

Baue für potentielle Antworter so viele Hürden ab, wie es mit deinem 
Wissen geht. Das erhöht die Wahrscheinlichkeit, dass jemand deinen Weg 
(die Frage) verfolgt und sich nicht mit deinem Wegweiser (der Form der 
Frage) befasst.

von juppi (Gast)


Lesenswert?

@Stefan "stefb" B. (stefan)

Im Forum
pc-Programmierung
 k8055 Digital ports einzeln ansteuern?

Autor: Stefan "stefb" B. (stefan)
Datum: 20.05.2007 10:14


bist du das?

da wurde nur die Karte in C++ angesteuert
ich will es in VB.2005
und habe noch niemanden gefunden der dies macht.

das ist doch verständlich?

von Niels H. (monarch35)


Lesenswert?

juppi wrote:
> ich will es in VB.2005

Du musst auch die einzelen Posts verfolgen. Der Post von "Bastler" um 
25.01.2008 18:17 enthält einen Link zu einem weiteren Forum.

von Niels H. (monarch35)


Lesenswert?

juppi wrote:

> Ich will seriell mit VB2005 8Bit daten pakete ausgeben.
>
> Trotz allen möglichen versuchen in VB  werden immer nur 7 Bit
> DatenPakete ausgegeben.

Wenn du von der seriellen Schnittstelle des PCs sprichst, ist das 
Quatsch. Das Kontrollobjekt für die serielle Schnittstelle kann man ganz 
einfach auf 8Bit umstellen.

von juppi (Gast)


Lesenswert?

@Niels Hüsken (monarch35)

ich verfolge jedes Argument

ser. 8 bit ausg. in allen anderen Progsprachen sind ok.
In VB2005 ist es auch einfach aber es geht nicht (Bei mir)
quatsch gibt es nicht.
Dann sage mir doch einfach wie es in VB2005 geht

von Niels H. (monarch35)


Lesenswert?

Ich glaub ich frage mindestens zum fünften mal nach der Schnittstelle...

WELCHE SCHNITTSTELLE IST GEMEINT?

von juppi (Gast)


Lesenswert?

rs232  com

von Niels H. (monarch35)


Lesenswert?

Gut, ich rate einfach mal weiter und nehme an, du verwendest das 
SerialPort-Objekt von VB2005.

Hast du dazu ein Objekt auf die Form gezogen oder instanzierst du das 
Objekt im Code?

Dim port As IO.Ports.SerialPort = New IO.Ports.SerialPort("COM1", 9600, 
parity.Even, 8, stopbits.One)

mit dieser Zeile initialisiert beispielsweise man COM1 auf 9600Bd mit 
gerader Parität, 8 Datenbits, und einem stopbit.

Wenn du das Objekt auf die Form gezogen hast, findest du diese 
Einstellungen in den Eigenschaften des Objektes.

von juppi (Gast)


Lesenswert?

habe ich alles gemacht
leider habe ich die Quelle nich greifbar.
will aber wider anfangen aber eben richtig.
ich hatte damals auch fertige Beispiel Quellcods,
welche ich dann angepast habe.

von juppi (Gast)


Lesenswert?

ich glaube , es bringt nichts.

wollte einfach ein Primitivbeispiel (Quellcod)
ein eingabewert wird als DatenByte 8Bit  (nicht im text)
über serielle ausgabe ausgegeben.
wer's kann und will (aber ich glaube bis dahin habe ich es
erledigt

aber Danke an alle

von Stefan B. (stefan) Benutzerseite


Lesenswert?

juppi wrote:
> @Stefan "stefb" B. (stefan)
>
> Im Forum
> pc-Programmierung
>  k8055 Digital ports einzeln ansteuern?
>
> Autor: Stefan "stefb" B. (stefan)
> Datum: 20.05.2007 10:14
>
>
> bist du das?
>
> da wurde nur die Karte in C++ angesteuert
> ich will es in VB.2005
> und habe noch niemanden gefunden der dies macht.
>
> das ist doch verständlich?

Sicher ist es verständlich. Dort handelt es sich allerdings um die 
K8055 und nicht um die P8055-1 Velleman 2003 wie in deiner Frage. 
Ich weiss nicht, inwieweit beide Karten bzw. die Doku und DLLs beider 
Karten identisch sind.

Ich habe etliche Links zur Programmierung der K8055 auf meiner 
Benutzerseite hier im Wiki, aber von einer P8055 habe ich in deiner 
Frage zum ersten Mal gelesen. Auch die Suche nach P8055 auf der Velleman 
Seite (http://www.velleman.be/be/en/engine.php) bringt mich nicht an die 
Treiber bzw. Doku.

Bei der .NET Geschichte fällt mir der existierende Treiber für K8055 (!) 
und für C# unter .NET ein (http://www.k8055-velleman.at.tt/). Den gab es 
früher frei als Download, inzwischen soll man den Autor per Email 
anschreiben. Ich schätze dieser Teiber kann auch in VB 2005 unter .NET 
hilfreich sein.

von juppi (Gast)


Lesenswert?

@Stefan "stefb" B. (stefan)

ich bin nicht böse aber traurig das mir inkompitenz oder unkenntnis 
vorwirft.
aber viele antworten ohne das sie kenntnis des problems
haben.

in einigen bildern erkennt mann eindeutig das K=P ist.
Nicht wer am meisten schreit hat recht.
Ich habe dieses Forum gewält weil es am aktivsten ist.
merke aber das die toleranz fehlt.
aber das kann sich verbessern.
und dies geht auch an den chef!

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Ich hoffe, du wirfst mir jetzt nicht vor, dass ich dir inkompitenz oder 
unkenntnis vorgeworfen hätte. Habe ich nämlich nicht. Geschrieen habe 
ich auch nicht; die Fettmarkierung sollte als Eyecatcher wirken.

Für mich war der Schluss P8055 = K8055 nicht naheliegend. Umso besser, 
wenn es so ist, denn eine K8055 habe ich und kann in der Doku selbst 
nachsehen.

VB 2005 (Express) habe ich nicht installiert und mag das wegen der 
Registrierungsorgie bei M$ auch nicht tun.

Aber ich habe wenige Stellen im WWW gefunden, die wenigstens Quellcode 
haben (du weigerst dich ja beharrlich welchen rauszurücken ;-)

Code 1 von mikey11
(Quelle: http://forum.velleman.be/viewtopic.php?t=147)
1
Option Strict Off
2
Option Explicit On
3
Friend Class Form1
4
  Inherits System.Windows.Forms.Form
5
  Dim DoNothing As Boolean
6
  Dim n As Short
7
  Private Declare Sub Version Lib "c:\8055\k8055d.dll" ()
8
  Private Declare Function SearchDevices Lib "c:\8055\k8055d.dll" () As Integer
9
  Private Declare Function SetCurrentDevice Lib "c:\8055\k8055d.dll" (ByVal CardAddress As Integer) As Integer
10
  Private Declare Function OpenDevice Lib "c:\8055\k8055d.dll" (ByVal CardAddress As Integer) As Integer
11
  Private Declare Sub CloseDevice Lib "c:\8055\k8055d.dll" ()
12
  Private Declare Function ReadAnalogChannel Lib "c:\8055\k8055d.dll" (ByVal Channel As Integer) As Integer
13
  Private Declare Sub ReadAllAnalog Lib "c:\8055\k8055d.dll" (ByRef Data1 As Integer, ByRef Data2 As Integer)
14
  Private Declare Sub OutputAnalogChannel Lib "c:\8055\k8055d.dll" (ByVal Channel As Integer, ByVal Data As Integer)
15
  Private Declare Sub OutputAllAnalog Lib "c:\8055\k8055d.dll" (ByVal Data1 As Integer, ByVal Data2 As Integer)
16
  Private Declare Sub ClearAnalogChannel Lib "c:\8055\k8055d.dll" (ByVal Channel As Integer)
17
  Private Declare Sub SetAllAnalog Lib "c:\8055\k8055d.dll" ()
18
  Private Declare Sub ClearAllAnalog Lib "c:\8055\k8055d.dll" ()
19
  Private Declare Sub SetAnalogChannel Lib "c:\8055\k8055d.dll" (ByVal Channel As Integer)
20
  Private Declare Sub WriteAllDigital Lib "c:\8055\k8055d.dll" (ByVal Data As Integer)
21
  Private Declare Sub ClearDigitalChannel Lib "c:\8055\k8055d.dll" (ByVal Channel As Integer)
22
  Private Declare Sub ClearAllDigital Lib "c:\8055\k8055d.dll" ()
23
  Private Declare Sub SetDigitalChannel Lib "c:\8055\k8055d.dll" (ByVal Channel As Integer)
24
  Private Declare Sub SetAllDigital Lib "c:\8055\k8055d.dll" ()
25
  Private Declare Function ReadDigitalChannel Lib "c:\8055\k8055d.dll" (ByVal Channel As Integer) As Boolean
26
  Private Declare Function ReadAllDigital Lib "c:\8055\k8055d.dll" () As Integer
27
  Private Declare Function ReadCounter Lib "c:\8055\k8055d.dll" (ByVal CounterNr As Integer) As Integer
28
  Private Declare Sub ResetCounter Lib "c:\8055\k8055d.dll" (ByVal CounterNr As Integer)
29
  Private Declare Sub SetCounterDebounceTime Lib "c:\8055\k8055d.dll" (ByVal CounterNr As Integer, ByVal DebounceTime As Integer)
30
31
  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
32
  End Sub
33
34
  Private Sub Connect_Click()
35
    Dim CardAddress As Long
36
    Dim h As Long
37
    CardAddress = 0
38
    'CardAddress = 3 - (Check1(0).Value + Check1(1).Value * 2)
39
    ' Check1(0) in der Zeile vorher funktioniert leider nicht bei mikey11
40
    h = OpenDevice(CardAddress)
41
    Select Case h
42
      Case 0, 1, 2, 3
43
        Label1.Text = "Card " + Str(h) + " connected"
44
      Case -1
45
        Label1.Text = "Card " + Str(CardAddress) + " not found"
46
    End Select
47
  End Sub
48
49
  Private Sub Form_Terminate()
50
    CloseDevice()
51
  End Sub
52
53
  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Connect.Click
54
    Connect_Click()
55
  End Sub
56
End Class

Code 2 von mikey11
(Quelle: 
http://forum.velleman.be/viewtopic.php?t=573&sid=a25788e22f003a58cc5c1b4c1fc1d672)
1
Option Strict Off
2
Option Explicit On
3
Imports System.Text
4
Imports System.Collections
5
6
Friend Class Form1
7
    Inherits System.Windows.Forms.Form
8
    Dim DoNothing As Boolean
9
    Dim n As Short
10
    Dim TotalCommands As Integer
11
    Dim ScriptCommands As New Hashtable
12
    Dim StopScript As Integer
13
    Dim ValidInputs(0 To 100, 0 To 1) As String
14
    Dim InputID As Integer
15
    Dim CurrentLocation As Integer = 1
16
    Dim InputLabels As String
17
    Dim TotalValidInputs As Integer
18
    Dim InputDetermine As String = ""
19
    Dim OutputDetermine As String
20
    Dim OutputPresent As String
21
    Dim DigitalInputState As String
22
23
    Private Declare Sub Version Lib "c:\8055\k8055d.dll" ()
24
    Private Declare Function SearchDevices Lib "c:\8055\k8055d.dll" () As Integer
25
    Private Declare Function SetCurrentDevice Lib "c:\8055\k8055d.dll" (ByVal CardAddress As Integer) As Integer
26
    Private Declare Function OpenDevice Lib "c:\8055\k8055d.dll" (ByVal CardAddress As Integer) As Integer
27
    Private Declare Sub CloseDevice Lib "c:\8055\k8055d.dll" ()
28
    Private Declare Function ReadAnalogChannel Lib "c:\8055\k8055d.dll" (ByVal Channel As Integer) As Integer
29
    Private Declare Sub ReadAllAnalog Lib "c:\8055\k8055d.dll" (ByRef Data1 As Integer, ByRef Data2 As Integer)
30
    Private Declare Sub OutputAnalogChannel Lib "c:\8055\k8055d.dll" (ByVal Channel As Integer, ByVal Data As Integer)
31
    Private Declare Sub OutputAllAnalog Lib "c:\8055\k8055d.dll" (ByVal Data1 As Integer, ByVal Data2 As Integer)
32
    Private Declare Sub ClearAnalogChannel Lib "c:\8055\k8055d.dll" (ByVal Channel As Integer)
33
    Private Declare Sub SetAllAnalog Lib "c:\8055\k8055d.dll" ()
34
    Private Declare Sub ClearAllAnalog Lib "c:\8055\k8055d.dll" ()
35
    Private Declare Sub SetAnalogChannel Lib "c:\8055\k8055d.dll" (ByVal Channel As Integer)
36
    Private Declare Sub WriteAllDigital Lib "c:\8055\k8055d.dll" (ByVal Data As Integer)
37
    Private Declare Sub ClearDigitalChannel Lib "c:\8055\k8055d.dll" (ByVal Channel As Integer)
38
    Private Declare Sub ClearAllDigital Lib "c:\8055\k8055d.dll" ()
39
    Private Declare Sub SetDigitalChannel Lib "c:\8055\k8055d.dll" (ByVal Channel As Integer)
40
    Private Declare Sub SetAllDigital Lib "c:\8055\k8055d.dll" ()
41
    Private Declare Function ReadDigitalChannel Lib "c:\8055\k8055d.dll" (ByVal Channel As Integer) As Boolean
42
    Private Declare Function ReadAllDigital Lib "c:\8055\k8055d.dll" () As Integer
43
    Private Declare Function ReadCounter Lib "c:\8055\k8055d.dll" (ByVal CounterNr As Integer) As Integer
44
    Private Declare Sub ResetCounter Lib "c:\8055\k8055d.dll" (ByVal CounterNr As Integer)
45
    Private Declare Sub SetCounterDebounceTime Lib "c:\8055\k8055d.dll" (ByVal CounterNr As Integer, ByVal DebounceTime As Integer)
46
47
48
49
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
50
     
51
52
        ClearAllDigital()
53
        Dim CurrentLine As String = "1"
54
55
        Dim Counter As Integer
56
        'Dim TotalCommands As Integer
57
58
        Counter = 1
59
60
61
        Dim readerVar As IO.StreamReader
62
        readerVar = IO.File.OpenText("c:\8055\default.vel")
63
        While CurrentLine <> ""
64
            CurrentLine = readerVar.ReadLine
65
            ScriptCommands.Add(Counter, CurrentLine)
66
            Counter = Counter + 1
67
68
        End While
69
70
        TotalCommands = Counter - 1
71
72
        readerVar.Close()
73
74
        ScriptBox.Text = ""
75
76
        For Counter = 1 To TotalCommands
77
            ScriptBox.Text = ScriptBox.Text + ScriptCommands(Counter) + ControlChars.CrLf
78
        Next
79
80
        'Determine the Line Numbers where the Inputs
81
        'or Time Events Occur. Then the intervening lines are
82
        'evaluated if they begin with the letter o for
83
        'digital output, or d for attached devices
84
        'These could be reused for multiple inputs, so they will be identified as
85
        'belonging to a specific input
86
        'Once the total Number of Inputs is determined, and the outputs assigned specifically
87
        'the scan for activation can occur. In the case of Digital Inputs, the Velleman
88
        'Board will be polled, for Timed events, the Current Time will be
89
        'Compared to The Timed events.
90
        For Counter = 1 To TotalCommands
91
            InputDetermine = ScriptCommands(Counter)
92
            OutputPresent = ScriptCommands(Counter + 1)
93
94
            If Microsoft.VisualBasic.Left(InputDetermine, 1) = "I" And Microsoft.VisualBasic.Left(OutputPresent, 1) = "O" Then ValidInputs(CurrentLocation, 0) = (Counter)
95
            If Microsoft.VisualBasic.Left(InputDetermine, 1) = "I" And Microsoft.VisualBasic.Left(OutputPresent, 1) = "O" Then ValidInputs(CurrentLocation, 1) = ScriptCommands(Counter)
96
            If Microsoft.VisualBasic.Left(InputDetermine, 1) = "I" And Microsoft.VisualBasic.Left(OutputPresent, 1) = "O" Then TotalValidInputs = TotalValidInputs + 1
97
            If Microsoft.VisualBasic.Left(InputDetermine, 1) = "I" Then CurrentLocation = CurrentLocation + 1
98
        Next
99
100
        'a list containing the Numbered Inputs that are valid exist
101
        'ie. The inputs have at least one output or device indicated after the input
102
103
104
        'The preceeding sequence loads the default script into the textbox
105
        'but provides no error checking or exception handling. Make sure
106
        'default.vel is where it says it is.
107
108
        Dim i As Long
109
        Dim Checked As Boolean
110
        Dim Devices As Long
111
        Checked = False
112
        Devices = SearchDevices
113
        If Devices Then
114
115
116
            For i = 0 To 3
117
                If (Devices And 2 ^ i) Then
118
                    If Not Checked Then
119
                        SetCurrentDevice(i)
120
121
                        Checked = True
122
                        CardStatus.Text = "Card " + Str(i) + " connected"
123
124
                    End If
125
                Else
126
                End If
127
            Next i
128
        End If
129
130
        If Devices = 0 Then CardStatus.Text = "No Cards Connected"
131
        'This preceeding sequence detects connected card, and displays
132
        'the card address in the status bar otherwise no card is connected and
133
        'the execute command will be disabled through checking Checked = false
134
    End Sub
135
136
    Private Sub Form_Terminate()
137
        CloseDevice()  'Closes open card when the application is terminated
138
    End Sub
139
140
    'Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
141
    '    Connect_Click()
142
    'End Sub
143
144
    Private Sub OpenScriptButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenScriptButton.Click       
145
    End Sub
146
147
    Private Sub ExecuteScript()
148
        'ClearAllDigital() For some reason this command does not work.. go figure
149
        WriteAllDigital(0) 'Ironically the writealldigital controls the outputs as a binary array where 255 is all 8 inputs turned on and 0 is all off
150
        Dim Counter As Integer = 1
151
       
152
        'Now we need to scan for an occurrence of each of the valid inputs
153
        'The values returned by ReadAllDigital are as follows
154
        'Input 1 = 1
155
        'Input 2 = 2
156
        'Input 3 = 4
157
        'Input 4 = 8
158
        'Input 5 = 16
159
        'Therefore one statement can be used for checking if
160
        'We recognize the squared value
161
162
        Dim i As Integer = 0
163
        DigitalInputState = ReadAllDigital
164
165
        For i = 1 To 5
166
            If DigitalInputState = 1 Then InputID = 1
167
            If (DigitalInputState And 2 ^ i) Then InputID = i + 1
168
        Next i
169
        If InputID = 0 Then Return
170
        'compare the pressed input to the valid inputs, then execute outputs or skips it over
171
        Dim OutputStartLine As Integer
172
        OutputDetermine = ""
173
        Dim InputIDStr As String
174
        Dim ParsedID As String
175
        InputIDStr = InputID
176
        ParsedID = "I" + InputIDStr
177
        For i = 1 To TotalValidInputs
178
            If ParsedID = Microsoft.VisualBasic.Left(ValidInputs(i, 1), 2) Then OutputStartLine = ValidInputs(i, 0)
179
        Next i
180
        Dim OutputID As String
181
        Dim OutputNumber As Integer
182
        Dim EndTimeChar As String = ""
183
        OutputDetermine = ScriptCommands(OutputStartLine + 1)
184
        'Process the Output instructions one at a time, making timers for events which
185
        'will allow continued execution and scanning on the other inputs.
186
        While Microsoft.VisualBasic.Left(OutputDetermine, 1) <> "I"
187
188
            OutputID = Microsoft.VisualBasic.Left(Microsoft.VisualBasic.Mid(OutputDetermine, 2), 1)
189
            OutputNumber = Convert.ToInt32(OutputID)
190
            SetDigitalChannel(OutputNumber)
191
            Dim TimeLeft As String
192
            Dim Time As String
193
            Dim TimeRemaining As Integer
194
            Dim StripValue As Integer
195
            TimeLeft = Mid(OutputDetermine, 4)
196
            StripValue = Len(TimeLeft)
197
            Time = Microsoft.VisualBasic.Left(TimeLeft, StripValue - 2)
198
            TimeRemaining = Convert.ToInt32(Time)
199
            System.Threading.Thread.Sleep(TimeRemaining)
200
            ClearDigitalChannel(OutputNumber)
201
            OutputStartLine = OutputStartLine + 1
202
            OutputDetermine = ScriptCommands(OutputStartLine + 1)
203
        End While
204
    End Sub
205
206
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
207
        ExecuteScript()
208
    End Sub
209
End Class

Code von Hatticus
(Quelle: http://www.codeprof.com/dev-archive/92/35-159-925423.shtm)
1
PublicClass Form1
2
  ' ClearDigitalChannel(1) turns switch #1 off -- and
3
  ' SetDigitalChannel(1) turns switch #1 on.
4
  PrivateDeclareSub SetDigitalChannelLib"K8055D.DLL" (ByVal ChannelAsInteger)
5
  PrivateDeclareSub ClearDigitalChannelLib"K8055D.DLL" (ByVal ChannelAsInteger)
6
7
  PrivateSub CheckBox1_CheckedChanged(ByVal senderAs System.Object,ByVal eAs System.EventArgs)Handles CheckBox1.CheckedChanged
8
    Dim cb_status = Me.CheckBox1.CheckState
9
    SelectCase cb_status
10
      Case 0
11
        ClearDigitalChannel(1)
12
      Case 1
13
        SetDigitalChannel(1)
14
    EndSelect
15
  EndSub
16
EndClass

*Code von Mathias@Åland*
(Quelle: http://www.elektronikforumet.com/forum/viewtopic.php?p=42)
Ergänzungen von Khaki beachten.
1
Public Class Form1
2
3
    Private Declare Function OpenDevice Lib "k8055d.dll" (ByVal CardAddress As Integer) As Integer
4
    Private Declare Sub CloseDevice Lib "k8055d.dll" ()
5
    Private Declare Function ReadAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer) As Integer
6
    Private Declare Sub ReadAllAnalog Lib "k8055d.dll" (ByRef Data1 As Integer, ByRef Data2 As Integer)
7
    Private Declare Sub OutputAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer, ByVal Data As Integer)
8
    Private Declare Sub OutputAllAnalog Lib "k8055d.dll" (ByVal Data1 As Integer, ByVal Data2 As Integer)
9
    Private Declare Sub ClearAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer)
10
    Private Declare Sub SetAllAnalog Lib "k8055d.dll" ()
11
    Private Declare Sub ClearAllAnalog Lib "k8055d.dll" ()
12
    Private Declare Sub SetAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer)
13
    Private Declare Sub WriteAllDigital Lib "k8055d.dll" (ByVal Data As Integer)
14
    Private Declare Sub ClearDigitalChannel Lib "k8055d.dll" (ByVal Channel As Integer)
15
    Private Declare Sub ClearAllDigital Lib "k8055d.dll" ()
16
    Private Declare Sub SetDigitalChannel Lib "k8055d.dll" (ByVal Channel As Integer)
17
    Private Declare Sub SetAllDigital Lib "k8055d.dll" ()
18
    Private Declare Function ReadDigitalChannel Lib "k8055d.dll" (ByVal Channel As Integer) As Boolean
19
    Private Declare Function ReadAllDigital Lib "k8055d.dll" () As Integer
20
    Private Declare Function ReadCounter Lib "k8055d.dll" (ByVal CounterNr As Integer) As Integer
21
    Private Declare Sub ResetCounter Lib "k8055d.dll" (ByVal CounterNr As Integer)
22
    Private Declare Sub SetCounterDebounceTime Lib "k8055d.dll" (ByVal CounterNr As Integer, ByVal DebounceTime As Integer)
23
    Private Declare Sub Version Lib "k8055d.dll" ()
24
    Private Declare Function SearchDevices Lib "k8055d.dll" () As Byte
25
    Private Declare Function SetCurrentDevice Lib "k8055d.dll" (ByVal CardAddress As Integer) As Byte
26
27
    Const CARD_ADDRESS As Byte = 0              'Card address = 0
28
29
    Private Sub test()
30
31
        OpenDevice(CARD_ADDRESS)                'Connect to card
32
33
        SetAllDigital()                         'All digital outputs ON
34
        OutputAllAnalog(50, 255)                'Analog output 1 = 50, analog output 2 = 255
35
36
        System.Threading.Thread.Sleep(1000)     'Wait 1s
37
38
        ClearAllDigital()                       'All digital outputs OFF
39
        ClearAllAnalog()                        'Both analog outputs OFF
40
41
        CloseDevice()                           'Disconnect
42
43
    End Sub
44
45
    Private Sub testButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles testButton.Click
46
        test()
47
    End Sub
48
49
    Private Sub exitButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles exitButton.Click
50
        Me.Close()
51
    End Sub
52
53
End Class

Code von Rod
(Quelle: 
http://forum.velleman.be/viewtopic.php?t=367&highlight=differences&sid=42)
1
    Private Sub Send_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Send.Click
2
        Dim checksum As Integer
3
        Dim Relays As Byte
4
        Relays = (TextBox2.Text)
5
        checksum = (255 - ((((13 + 1 + Asc("B") + (Relays)) / 256) - Int((13 + 1 + Asc("B") + (Relays)) / 256)) * 256)) + 1
6
7
        messagestring = Chr(13) & Chr(1) & "B" & (Relays) & Chr(checksum)
8
        messagestring = messagestring & messagestring
9
        messagestring = messagestring & messagestring
10
        SendSerialData(messagestring)
11
    End Sub
12
13
    Sub SendSerialData(ByVal data As String)
14
        '  Dim enc As Encoding = Encoding.Unicode
15
        '  Send strings to a serial port.
16
        Using com1 As IO.Ports.SerialPort = _
17
        My.Computer.Ports.OpenSerialPort("COM1", 2400, IO.Ports.Parity.None, 8, IO.Ports.StopBits.One)
18
19
             '  com1.Encoding = enc 
20
            com1.WriteLine(data)
21
        End Using
22
    End Sub

Interessant, da Rod auch auf ein Problem von Zeichen mit gesetztem 8. 
Bit in VB eingeht.

Daraufhin hat VEL255 von Velleman eine ausführliche Liste mit 
Unterschieden zwischen VB6 und VB 2005 gepostet. Für mich lesen sich die 
Hinweise sehr plausibel und auf jeden Fall beachtenswert.

Rod hat daraufhin seine Probleme (Richtung PC => K8055) so gelöst 
bekommen:
1
   Sub SendSerialData(ByVal data As String)
2
        Dim enc As Encoding = Encoding.GetEncoding(1252)
3
        ' Send strings to a serial port.
4
        Using com1 As IO.Ports.SerialPort = _
5
        My.Computer.Ports.OpenSerialPort("COM1", 2400, IO.Ports.Parity.None, 8)
6
            com1.Encoding = enc
7
            com1.WriteLine(data)
8
        End Using
9
    End Sub

von Stefan B. (stefan) Benutzerseite


Lesenswert?

ADD: zumindest beim Code von Hatticus sind durch Copy&Paste ein paar 
Leerzeichen verloren gegangen. Also vor dem Testen kontrollieren.

von Niels H. (monarch35)


Lesenswert?

Jetzt fühl ich mich aber angegriffen. Das man sich "Intoleranz" 
vorwerfen lassen muss, wenn man auf Misstände hinweist, ist das nächste 
dreiste Stück. Ich verabschiede mich aus diesem Thread.

Vieleicht ein Tipp noch:
@stefb:
Ich glaube, juppi ist eher nach der suche nach einer Datei, die man sich 
runterladen und anklicken kann, worauf hin sich VB öffnet und nach dem 
Klick auf den "Run" button alles funktioniert. Hier Quelltext 
hinzuposten dürfte nutzlos sein.

von juppi (Gast)


Angehängte Dateien:

Lesenswert?

Stefan "stefb" B. (stefan)


@Niels Hüsken (monarch35)
<Jetzt fühl ich mich aber angegriffen. Das man sich "Intoleranz"
>vorwerfen lassen muss, wenn man auf Misstände hinweist, ist das nächste
>dreiste Stück. Ich verabschiede mich aus diesem Thread.



Das habe ich geschrieben.
ich habe nicht dich gemeint,sonder mich selbst, wenn du kozentriert 
ließt.

>ich bin nicht böse aber traurig das mir inkompitenz oder unkenntnis
>vorwirft.
>aber viele antworten ohne das sie kenntnis des problems
>haben

Du verabschiedest dich mit der überzeugung,ich mache MIST,
obwohl du nicht richtig gelesen hast.
 dieses Problem kommt sehr oft vor.

>Ich glaube, juppi ist eher nach der suche nach einer Datei, die man sich
>runterladen und anklicken kann, worauf hin sich VB öffnet und nach dem
>Klick auf den "Run" button alles funktioniert. Hier Quelltext
>hinzuposten dürfte nutzlos sein.

was ich zugeben muß ich hätte die Fragen getrennt stellen sollen.

>>ansteuern K8055 /P8055 mit VB.2005
die software ist doch dabei,geht blos nicht
>>COM.Ausgabe mit VB.2005

ich habe mich 4Tage mit VB beschäftigt (vor 6-8 Monaten)
Grafigoberfläche vB2005 steuert über 7Bit datenausgabepaket C-Controll
das bedeuteutet Pc steuert Modell
Handsteuer steuert Modell (Grafiganzeige auf Pc)
eigenstänige steuerung.vom steuergerät
auto ablauf
überwachter ablauf (Kinder kännen das modell bedienen)
ich entwickle nur Funktionsmuster
u.s.w.   u.s.w.

@ Stefan "stefb" B. (stefan)
jetzt muß ich ersmal die sooftware suchen
und das wird nicht einfach

Danke an alle und dir besonders habe (dich ja auch gesucht)

von juppi (Gast)


Lesenswert?

nachsatz
wie kann ich mich direkt mit einem Moderator in verbindung setzen
@Rufus t. Firefly (rufus) (Moderator)

von Stefan B. (stefan) Benutzerseite


Lesenswert?

juppi:
> >>ansteuern K8055 /P8055 mit VB.2005
> die software ist doch dabei,geht blos nicht

Bei meiner K8055 war nur VB Democode dabei und kein VB .NET Democode. 
Beides hat Unterschiede, wie die vielen verzweifelten Anfragen udn die 
wenigen halbgaren Erfolgsmeldungen im Netz zeigen.

> ich habe mich 4 Tage mit VB beschäftigt (vor 6-8 Monaten)

Velleman hat eine DLL v2 nachgeschoben, die wesentlich verbessert war 
gegenüber der DLL auf meiner K8055 CD.

Ich habe die DLL v2 *5/2007* als Download bei Velleman gezogen. In 
diesem Paket war überhaupt kein VB Democode, sondern nur Democode für 
Borland C (BC) und Visual C (VC). Ich denke aber, dass die hier 
enthaltene K8055D.DLL gegenüber der Version auf der CD vorzuziehen ist. 
Bei mir hatte es etliche Probleme behoben.

Bei deiner Zeitangabe 6-8 Monate könnte es sein, dass du mit veralteten 
Treibern von der CD arbeitest und dass Du von einem Update der Treiber 
profitierst.

> wie kann ich mich direkt mit einem Moderator in verbindung setzen
> @Rufus t. Firefly (rufus) (Moderator)

Auf die markierte Stelle in einem Posting des betreffenden klicken. 
Weiss aber nicht, ob Gäste das können.

von juppi (Gast)


Lesenswert?

@Stefan "stefb" B.
ich will VB2005.net nur für kleinere Programme Nutzen damit ich auch für 
XP steuerprogramme entwickeln kann.
was du schreibst wird richtig sein.
jetzt muß ich etwas aktiv ordnen.
nicht umsonst bin ich hier im Umfeld der bekannteste Hardware sammler,
denn meine geräte mussen möglich kostenfrei sein.

Dieses Forum gefällt mir(es ist aktuell)und ich werde mich später 
anmelden.

@Rufus t. Firefly (rufus) (Moderator)
Ich möchte nur nachfragen warum der Thread  von mir gelöscht
wurde,meine Freunde,Kollegen und ich fanden es nicht korekt.

iHr dachte wohl ich melde mich nicht,mußte ausschlafen.
danach schlagzeug 1,5 Std.,damit die Gelenke nicht unbeweglich werden,
sonnst brauche ich bald biologische ersatzteile

sage Ihm (kann jeden passieren.

@Niels Hüsken (monarch35)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Wer auch immer hier einen Thread gelöscht hat, ich war es nicht. 
Entweder einer der anderen Moderatoren oder aber Andreas, der 
Forenbetreiber.

von Gast (Gast)


Lesenswert?

@Andreas
@Rufus t. Firefly (rufus) (Moderator)

26.1.2008 ca. 10 Uhr noch vorhanden
26.1.2008 ca. 22 Uhr verschwunden


"offTopic"

es war thread
"es gibt keine dummen Fragen, nur dumme Antworten"
es wurde darin aber mehrmals hingewiesen,
wenn keine Interesse, nicht antworten,dann verschwindet er allein.
ich würde gern den Grund Erfahren, denn willkür ohne Begründung
habe ich jahrzehnte erlebt.


"offTopic" habe ich so verstanden das hier Themen gestellt werden die in 
die anderen  nicht passen.
ich behersche kein englisch, noch nicht einmal Deutsch richtig.

Bin nur für ehrlichkeit und fairnis.
MfG
juppi

von Karl H. (kbuchegg)


Lesenswert?

Ich habe ihn gelöscht.

Grund:
In diesem Thread gab es keinerlei neue Informationen, die der
Sache dienlich sind. Die Fragestellung war m.E. völlig gleich,
mit der selben Information bzw. der selben Nichtinformation.

Die Antworten ändern sich nicht, wenn immer dieselbe Frage
mit praktisch identischem Wortlaut gestellt werden.

Damit ergibt sich, dass der Thread im Off Topic Bereich
ein sinnloser Thread ist. Das 'Beste' was dir passieren kann,
ist dass sowohl hier als auch dort Antworten kommen. Damit
ist aber Information über mehrere Threads verstreut und damit
ist nun wirklich keinem geholfen. Wir hatten das schon öfter,
dass ein Fragesteller mehrere Threads zum gleichen Thema
eröffnet hat. Für die Antworter ergibt sich dann die unangenehme
Situation, dass in beiden Threads geantwortet wird und die
Leute dieselben Informationen in beiden Threads geben und
teilweise aneinander vorbeireden, weil kein Mensch mehr
verfolgen kann, welche Information im jeweils anderen Thread
schon gegeben wurde.

Juppi: Wenn du das Gefühl hast, dass man dich nicht versteht,
dann musst du deine Fragestellung umformulieren. Einen
neuen Thread mit der identischen Fragestellung zu eröffnen
bringt weder dich noch die Antworter weiter.

von juppi (Gast)


Lesenswert?

@Karl heinz Buchegger (kbuchegg) (Moderator)

>>>dies ist o.k. ,hätte in 1-2 tagen darum gebeten.

Mann kann es als schlechtes Beispiel,auch nur sperren.

für mich ist dies auch ein zeichen einer guten Kontrolle,
welche in Deutschland aus gesetzlichen Gründen notwendig ist.
Nicht Gleichzusetzen einer Zensur.
Veschiedene in offtopic sind hart an der Grenze.
Da das Forum für Gäste auch offen ist, besteht die möglich keit ständig 
mit anderen Namen zu erscheinen, oder mit den namen eines Anderen.
Dies förder aber die Aktualität des Forums.

Ich habe alles erfahren ,was ich wollte.

Immer nur eine Frage stellen (Problem),damit die  fragen und antworten
sich in den Verlauf nicht mischen.
dadurch alles noch durcheinander wird.
Auch die schlechteste Fragestellung ist ein Selbstläufer,
sie wird sich nicht durch Nichtbeantwortung erledigen.

Mein Gedankengang war: Wenn 1000 es lesen und einer der dies Problem
kennt antwortet,ist es o.k.

Es klappt eben nicht.

>unstrukturierten Batzen irgendwo hinrotzt und das mit einer
>überdimensionierten Erwartungshaltung koppelt.

das sollte man von berufener Stelle nicht  machen.


ich werde weiter aktiv mitmachen, ich verstecke mich auch nicht.

MfG

juppi

von juppi (Gast)


Lesenswert?

@Karl heinz Buchegger (kbuchegg) (Moderator)

vergessen Lösche diesen Thread in 1/2 tagen,
es ist ein zu groses Durcheinander.
einer der hier nur kurz reinschaut kann nicht klar kommen
MfG
juppi

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Moderatoren können Threads nicht sperren, das kann nur Andreas, der 
Foren-Admin.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

juppi wrote:
> @Karl heinz Buchegger (kbuchegg) (Moderator)
>
> vergessen Lösche diesen Thread in 1/2 tagen,
> es ist ein zu groses Durcheinander.
> einer der hier nur kurz reinschaut kann nicht klar kommen
> MfG
> juppi

Juppi, ohne dir persönlich nahetreten zu wollen - ich bin damit nicht 
einverstanden. "klar kommen" - Wer sich eine Diskussion nicht durchlesen 
und verstehen kann, soll es lassen oder nachfragen.

Ich habe hier ganz klein bisschen Arbeit rein gesteckt und möchte auch 
in Zukunft von dieser Arbeit profitieren z.B. wenn ich mich z.B. 
aufraffe mit diesem neumodischen .NET Geraffel anzufangen.

Dazu habe ich einen den Link hierher in meiner Benutzerseite 
eingerichtet so dass ich selbst den Kram ohne 1 h googeln wiederfinde 
und die essentielle Sachen als Kopie habe (viele Seiten verwittern im 
Netz) sowie - last but not least - bei nächster Gelegenheit andere 
juppis hierher verweisen kann.

von juppi (Gast)


Lesenswert?

@Stefan "stefb" B. (stefan)

hallo
wenn du es so siehst, ich habe kein Problem wenns weitergeht.
>>Mann kann es als schlechtes Beispiel,auch nur sperren.

Es ist doch ein gutes Beispiel,das man immer gegenseitig etwas lernen 
kann.

>1 h googeln wiederfinde

ehe ich antworte geht meistens erst die suche los, damit man eine kleine
information über die Post Partner hat.


bin noch nicht mal 2monate im Netz.
vB2005 unreg.(also alles alt) ich glaube jetzt wissen wir ,warum so 
viele unklarheiten gab
und gibt.

von juppi (Gast)


Lesenswert?

@Stefan "stefb" B. (stefan)
Bin weiter dran
hat noch nicht geklappt.

wenn du so vorgehst kennst du mich ein bischen.
ich verstecke mich nicht ,wie ich bei manchen bemerken könnte

Gruß

von probst (Gast)


Lesenswert?

Gruß
>zusatzfrage
>VB 2005 ser. RS232 Ausgabe klappt nur mit sieben Bit (keine textausg.)
>Ich brauche aber 8Bit Daten Ausgabe.
Ich möchte auch in VB.Net einen Datenstring senden.
Bit 7 kommt aber immer unverändert an.
Ich kann bis 127Dez senden .
Will ich z.B. 128 senden kommt auf der Empfängerseite nur 63 an.
Will ich z.B. 255 senden kommt auf der Empfängerseite auch nur 63 an.

oben den Quellcod verstehe ich nicht.
Hat nicht jemand einen kurzen Cod.
Hoffendlich versteht mich einer??

Danke

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Verwendest Du möglicherweise einen vorzeichenbehafteten 8-Bit-Datentyp?

von Stefan B. (stefan) Benutzerseite


Lesenswert?

probst wrote:
> Ich möchte auch in VB.Net einen Datenstring senden.
> Bit 7 kommt aber immer unverändert an.

Du brauchst nicht alles an Code, was oben steht. Interessant ist dieser 
Codeabschnitt von Rod:
1
   Sub SendSerialData(ByVal data As String)
2
        Dim enc As Encoding = Encoding.GetEncoding(1252)
3
        ' Send strings to a serial port.
4
        Using com1 As IO.Ports.SerialPort = _
5
        My.Computer.Ports.OpenSerialPort("COM1", 2400, IO.Ports.Parity.None, 8)
6
            com1.Encoding = enc
7
            com1.WriteLine(data)
8
        End Using
9
    End Sub

von probst (Gast)


Lesenswert?

Hallo

Public Class Form1
    'Codeabschnitt von Rod:

    Sub SendSerialData(ByVal data As String)
 ?       Dim enc As Encoding = Encoding.GetEncoding(1252)
        ' Send strings to a serial port.
        Using com1 As IO.Ports.SerialPort = _
        My.Computer.Ports.OpenSerialPort("COM1", 2400, 
IO.Ports.Parity.None, 8)
            com1.Encoding = enc
            com1.WriteLine(data)
        End Using
    End Sub



End Class


Fehler
Encoding ist nicht deffiniert

von Lasse S. (cowz) Benutzerseite


Lesenswert?

Hi,

juppi: Dieses Forum ist einfach unhöflicher als viel andere. Damit muss 
man leben, wenn man hier Fragen stellt. Daher solltest du dich 
rechtzeitig entscheiden, entweder topqualifiziere, grammatikalisch 
hunderprozentig korrekte Fragen zu stellen, oder ein anderes Forum 
nehmen.

Um deine Frage bzgl. VB und 7-Bit zu beantworten, solange die Frage noch 
ungeklärt sein sollte (hat nach vielen Beiträgen forentypischen 
"Rumgelabers" * keine Lust mehr, alles durchzulesen...):

Ich vermute, dass du das Ergebnis als Integer, Int16 oder ähnlichem 
speicherst. VB interpretiert dabei das erste, höchstwertige Bit als 
Vorzeichen. Alles was also größer als 127 ist, wird negativ. Die 
richtige Alternative ist entweder ein unsigned Integer, oder wie bei 
Textübertragung auch sinnhaft ein "Char".

Probier's mal damit, und wenn's dann noch nicht klappt, melde dich ruhig 
per Mail bei mir.

(Ich arbeite schon länger mit Senioren am PC und kann gut einschätzen, 
dass es dir viel Mühe kostet :))

Gruß, Lasse
PS: Und Moderatoren / Forenbetreiber: Es wäre echt hilfreich, wenn ihr 
die ganzen "scheiss" * Posts löschen würdet. Sowas wie "deine Frage ist 
unverständlich" mag vielleicht ansatzweise stimmen, aber mit ein 
bisschen lesen sollte z.b. obige Frage verständlich sein. Ich habe sie 
zumindest auf Anhieb verstanden... Eine Nachricht wie "Ich verstehe die 
Frage nicht" ist ok, aber bitte ohne persönlichen Angriff 
"Verständlich...bei dem deutsch...".

PPS: "dem deutsch" (da müsste Deutsch doch großgeschrieben werden, oder? 
Bitte keine Diskussion darüber...)

PPPS: Das Sternchen ist für die Forumsetikette und soll fachfremde und 
umgangssprachliche Begriffe kennzeichnen, damit sich auch gar niemand 
beschweren kann... Muss man hier ja wohl machen, oder?

von juppi (Gast)


Lesenswert?

@Stefan "stefb" B. (stefan)

Das problem mit der DLL  habe ich gelöst.
Ich habe ein VB.net Demo auch noch gefunden.
Das ist sehr einfach gehalten.
Programmiere eine Kleinmodellbahnanwendung um die Karte zu Nutzen.
Wird dann im club  angewendet.
Deine Cods haben mir durch die lehrzeichen einen haufen zeit gekostet,
dadurch mußte ich mich aber intensiv mit .net beschäftigen.
Deshalb war die suche und anwendung erfolgreich.
in der schlechtesten Diskusion findet der aufmerksame Leser etwas
konstruktives.(nicht auf dich gemünzt)

das problem seriaus löse ich auch.
aber ich muß erst das programm für eine größere Modellbahn
fertigstellen.VB.net ist sehr gut geeignet die grafikoberfläche
schnell zu erledigen.Es können dann andere leicht Anpassen.
Datum: 05.02.2008 12:30  den cod und viele andere
habe ich auch getestet

danke

@Lasse S. (cowz)
Du schreibst gut ,vieleicht reguliert sich das etwas.
Leider bemerken das nur die, welche es nicht betrifft.
ich glaube du schätzt mich nicht richtig ein,
deshalb würde ich nicht böse sein!

wenn ich angemeldet bin werde ich mich in verbindung setzen.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Jetzt treibt ihr mich schon so weit, dass ich virtuell Visual Basic .NET 
programmiere. Jungs, macht nur so weiter ;-)
1
Imports System
2
Imports System.Text    ' <=== !
3
4
Public Class Form1
5
    'Codeabschnitt von Rod:
6
7
    Sub SendSerialData(ByVal data As String)
8
        Dim enc As Encoding = Encoding.GetEncoding(1252)
9
        ' Send strings to a serial port.
10
        Using com1 As IO.Ports.SerialPort = _
11
        My.Computer.Ports.OpenSerialPort("COM1", 2400, IO.Ports.Parity.None, 8)
12
            com1.Encoding = enc
13
            com1.WriteLine(data)
14
        End Using
15
    End Sub
16
End Class

See: http://msdn2.microsoft.com/de-de/library/wzsz3bk3(VS.80).aspx

von juppi (Gast)


Lesenswert?

@Stefan "stefb" B. (stefan)

der cod ist richtig
aus com1.WriteLine(Data)  muß aber com1.Write(Data) werden.

Jetzt kann ich Einzelwerte und echte Datenstrings senden.

danke
denn durch dich habe ich mich intensiv mit .net
beschäftigt.

Trotzdem verstehe ich nicht das keiner mir diesen kurzen cod posten
wollte oder konnte.(für mich ist hilfe kein problem(Quellcod)
Einer der sich mit .net beschäftigt hat sollte doch dieses problem 
kennen.
Die com schnittstelle wird aber leider von nur 1% benutzt.
Mann muß natürlich Hardware dafür stricken.
Von EINEM der sich extra wegen "Diesem" mit .Net beschäftigt,
wird geholfen.

MfG

P.S   an alle
dieser thread hat erfolg gebracht

von Frank B. (frank_b) Benutzerseite


Lesenswert?

Juppi,

ein Problem scheint zu sein, dass es hier nur wenige Visual-Basic Kenner 
gibt.
Es kann einfach niemand. Deshalb postet auch niemand Quellcode. Dieses 
Forum ist sehr hardwarenah, das sagt ja auch schon der Name 
"Mikrocontroller.net" - An Deiner Stelle würde ich es mal ein einem 
Visual-Basic Forum versuchen.

von juppi (Gast)


Lesenswert?

@Frank B_. (frank_b

Habe ich seit tagen gemacht ,erfolglos.
Von einem Fachmann kann ich erwarten das , er nur antwortet wenn er 
bescheid weis, sonnst schweigt man,ich halte das auch so.

es reicht wenn einer postet,der bescheid weis,oder dies nachvollzieht,
obwohl er es nicht wollte.(vb.net)

die threads wären effektiver.

MfG

von Frank B. (frank_b) Benutzerseite


Lesenswert?

Naja, Stefan "stefb" B. versucht doch sogar zu helfen, ohne dass er 
selbst VB kann. Dieser Einsatz ist auch nicht selbstverständlich, und 
könnte auch ruhig mal ein wenig gewürdigt werden.

von juppi (Gast)


Lesenswert?

Habe ich getan,
deutlicher wird er es bestimmt nicht mögen.

von probst (Gast)


Lesenswert?

@Stefan "stefb" B.

Danke !   es funzt
Schade das nicht alle so korekt antworten.

@juppi (Gast)
Hatte sofort deine Frage Verstanden
Fachleute haben oft den sogenannten Tunnelblick!?

Mit Grüßen

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Danke für die Blumen ;-)

Ich will "die Kollegen" auch ein bisschen in Schutz nehmen.

Ein Antworten "obwohl man von der Materie keine Ahnung hat", kann gut 
gehen. Es kann aber auch furchtbar in die Hose gehen.

Es ist eine ganz ganz schmale Gratwanderung mit der man sich schnell 
einen Ruf als inkompetenter Schwätzer einhandeln kann.

Deshalb halten sich bestimmt viele an Omis Spruch "Reden ist Silber, 
Schweigen ist Gold."

Und ganz objektiv gesehen - .NET ist hier sehr selten ein Thema. Hier 
ist einfach eine andere Zielgruppe am Werkeln.

von juppi (Gast)


Lesenswert?

@Stefan "stefb" B. (stefan)

>Deshalb halten sich bestimmt viele an Omis Spruch "Reden ist Silber,
>Schweigen ist Gold."

Ist auch meine Meinung!
leider halten sich zu wenige daran,obwohl immer darauf hingewiesen habe.

in VB.net Foren werden diese Fragen wenig angesprochen.
MfG

von ap1 (Gast)


Lesenswert?

Halli hallo,

Ich möchte klein Anfangen,...
Habe schon in vb6.0 einen Motor (U/min über PC Regelbar) gemacht, hat 
auch funktioniert.
Nun habe ich 6.0 aber nicht mehr, da mein Rechner nen knacks weg hatte, 
und der installer ist iwo in den unendlichen weiten des Dachbodens 
verschollen...
Ich bin also auf VB 2005 Express (.NET) umgestiegen, habe syntax usw 
auch recht schnell kapiert (arbeite seit ungf. 4-5 Monaten damit) und 
habe immer nur "Soft"ware geschrieben, die wirklich nur auf der 
Festplatte und nicht weiter ging. Nun möchte ich aber mal mit Serieller 
Schnittstellenprogrammierung beginnen und habe mir da etwas überlegt.

Ich baue (oder sagen wirs so: ich habs vor :D ) eine Schreibtischlampe 
(3V, Licht soll Trimmbar (heller/dunkler) werden), und ein Radio 
(allerdings baue ich das nicht selbst ;) - ich führe ihm nur mit einem 
Relais Strom zu was sonst die Batterie erledigen würde...) die jeweils 
mit einem "Herzstück" verbunden werden sollen! Dieses Herzstück (ich 
kürze es HS ab) soll an einer Schnittstelle mit dem PC verbunden werden. 
Da das alleine noch nicht reicht, ist mir klar, deshalb wolte ich euch 
nun Fragen:

1.) Könntet ihr mir etwas zum lesen empfehlen, wie ich
a] Eine Schaltung aufbaue die auf Bit und Byte reagiert
b] Ich den PC mit SERIELLER SCHNITTSTELLE mit einer Schaltung 
kommunizieren lassen kann
c] Ich all das überhaupt angehen soll?

2.) Könntet Ihr mir schaltungen (vll Vorgefertigt) empfehlen die
a] solche daten (bit, byte...) verarbeiten? und,
b] sonstige komponenten nennen die wichtig wären?

3.) Könntet ihr mir Codebeispiele posten mit dem ich überhaupt etwas 
(vgl 2.)) an diese Schaltung senden kann?

Ich bin über JEDE HILFE dankbar!!!!!
mfg, ap1!!!
PS: daaaaanke viiielen dank für hilfreiches im vorraus!
PPS: bitte hantiert nicht mit ausdrücken wie: "Du musst erstmal gaaanz 
klein Anfangen" sondern gebt auch gleich hilfestellung dazu
PPPS: falls ihr sagt: Der spinnt (Projekt zu schwer zum anfang,...) gebt 
biiiitte bitte hilfestellung wie ich denn anfangen kann und ob es 
Einbaukarten / Schaltungen etc. zum Üben gibt
PPPPS: alle Kaufempfehlungen "sollten" die 30€ Marke nicht überschreiten 
;) bin noch ein kleiner Student^^

von juppi (Gast)


Lesenswert?

hallo ap1
es ist hilfreich zu wissen was du gerne Hardwarmäßig ansteuern willst.
Nur ausgaben oder auch abfragen.
willst du seriel über Rs232  oder direkt sehr preiswert die seriellele
 verunstalten (z.B. schieberegister 4094)
Usb ausgabe Vellemann K8055 Bausatz oder fertigteil.
würde ich für dich empfehlen.
Aus/ein über Centronics mit Port DLL.
Alle möglichkeiten habe ich schon angewendet.
ein ausgabeprogramm für 4094 hängt hier im forum finde es jetzt nicht)

eine aufgabe ist gut aber auc der weg kann das ziel sein
MfG

von ap1 (Gast)


Lesenswert?

Hallo juppi,

> es ist hilfreich zu wissen was du gerne Hardwarmäßig ansteuern willst.
Ich möchte gerne eine Lampe (3 oder 12 V) ansteuern, diese Stärker oder 
Schwächer (^= heller dunkler) machen können, und einen Radio mit 12 V 
speisen (Die Speisung soll aber über per Relais regelbar sein ^= auch PC 
steuerbar ;) ) und ich möchte mir so 3-4 Kanäle freihalten für eine 
Steckklemme mit der ich das System erweitern kann falls das geht

Aber dafür bräuchte ich etwas unterstützung, ich mach das zum ersten mal 
also bitte etwas milder mit mir umgehen ;)

> willst du seriel über Rs232 oder direkt sehr preiswert die seriellele
> verunstalten (z.B. schieberegister 4094)

Das ist mir egal, hauptsächlich a) ich verstehe das schnell :) und b) 
ich kanns erweitern :D

> Usb ausgabe Vellemann K8055 Bausatz oder fertigteil.
> würde ich für dich empfehlen.

Wenn es über USB leichter geht, ok. ICh weiß aber nicht wie ich USB 
ansteuere :(. Zudem vorgefertigt will ich das nicht, weil ich will was 
draus lernen

Achso ja mit dem Velleman bausatz meinst du da das "USB EXPERIMENT 
INTERFACE BOARD"? Und wie sieht es da mit der Kanalspezifikation aus? 
Hab ich da irgendeine  spezielle Software zum anteuern? Weil einen COM1 
pin ist bis jetzt das einzige was ich ansteuern kann :((

> Alle möglichkeiten habe ich schon angewendet.

Welche war die Praktischste' für dich?
Welche ging denn (auch für nen anfänger vgl mich XD) für einen Anfänger 
leicht zu verstehen?

> Nur ausgaben oder auch abfragen.
Beides. Ausgeben zB Lampe ausschalten, Abfragen: ist lampe 
ausgeschaltet?

> Aus/ein über Centronics mit Port DLL.
das hab ich noch nicht ganz verstanden was meinst du damit?

mfg. ap1

von juppi (Gast)


Lesenswert?

Hallo
schau die karte K8055 an.
ich hatte schwierigkeiten mit einbinden dr DLL in Vb2005.net
ist jetzt ok.
Karte ist "Befehlslangsam" aber gerade für Anfänger gut geeignet ,

WENN ein geeignetes Lauffähiges Programm vorhanden ist.
Kannste haben .
Mit der software ist dein Erstlingswerk in 1 std erledigt.
Die karte kann natürlich noch viel mehr.
hat 8 dig ausg
5 eing
2 DA
2 AD
leider bin ich nur ein "Osterbesucher" und habe nicht alle software 
hier.

MfG

von juppi (Gast)


Lesenswert?


von ap1 (Gast)


Lesenswert?

also denkst du ich dürfte "fast" problemlos mit der K8055 zurechtkommen?

> WENN ein geeignetes Lauffähiges Programm vorhanden ist.
> Kannste haben .

ich habe nur vb2005 (net, express)

> Mit der software ist dein Erstlingswerk in 1 std erledigt.

ist da eine beigelegt?

> Die karte kann natürlich noch viel mehr.
> hat 8 dig ausg
> 5 eing
> 2 DA
> 2 AD

Das ist es ja. Ich steige nicht durch wie ich überhaupt mal ne LED zB an 
und ausschalten lasse per PC :( Das hab ich über google auch nirgendwo 
erklärt gekriegt. Hoffe du kannst es ansatzweise :(

> leider bin ich nur ein "Osterbesucher" und habe nicht alle software

was meinst du mit osterbesucher :D?


mfg. ap1 , vielen dank bis hier her

von juppi (Gast)


Lesenswert?

hallo

als software ist nur ein Demo beigelegt.
auch verschiedene DLL.
für die ansteuerung brauchst du nur Befehle.
z.B. Diode Ein Aus
ausgabe Dimmerwert.


Private Declare Function OpenDevice Lib "k8055d.dll" (ByVal CardAddress 
As Integer) As Integer
    Private Declare Sub CloseDevice Lib "k8055d.dll" ()
    Private Declare Function ReadAnalogChannel Lib "k8055d.dll" (ByVal 
Channel As Integer) As Integer
    Private Declare Sub ReadAllAnalog Lib "k8055d.dll" (ByRef Data1 As 
Integer, ByRef Data2 As Integer)
    Private Declare Sub OutputAnalogChannel Lib "k8055d.dll" (ByVal 
Channel As Integer, ByVal Data As Integer)
    Private Declare Sub OutputAllAnalog Lib "k8055d.dll" (ByVal Data1 As 
Integer, ByVal Data2 As Integer)
    Private Declare Sub ClearAnalogChannel Lib "k8055d.dll" (ByVal 
Channel As Integer)
    Private Declare Sub SetAllAnalog Lib "k8055d.dll" ()
    Private Declare Sub ClearAllAnalog Lib "k8055d.dll" ()
    Private Declare Sub SetAnalogChannel Lib "k8055d.dll" (ByVal Channel 
As Integer)
    Private Declare Sub WriteAllDigital Lib "k8055d.dll" (ByVal Data As 
Integer)
    Private Declare Sub ClearDigitalChannel Lib "k8055d.dll" (ByVal 
Channel As Integer)
    Private Declare Sub ClearAllDigital Lib "k8055d.dll" ()
    Private Declare Sub SetDigitalChannel Lib "k8055d.dll" (ByVal 
Channel As Integer)
    Private Declare Sub SetAllDigital Lib "k8055d.dll" ()
    Private Declare Function ReadDigitalChannel Lib "k8055d.dll" (ByVal 
Channel As Integer) As Boolean
    Private Declare Function ReadAllDigital Lib "k8055d.dll" () As 
Integer
    Private Declare Function ReadCounter Lib "k8055d.dll" (ByVal 
CounterNr As Integer) As Integer
    Private Declare Sub ResetCounter Lib "k8055d.dll" (ByVal CounterNr 
As Integer)
    Private Declare Sub SetCounterDebounceTime Lib "k8055d.dll" (ByVal 
CounterNr As Integer, ByVal DebounceTime As Integer)



das sind die Befehle in der DLL für VB2005.net

blos zurInformation.

wenn  ich hier zippen kann schicke ich dir das prog
in quellcod.
Änderungen sind schnell gemacht.
ich bin zu besuch bei meinem Enkel.
deshalb ein bischen PC Schwierigkeiten.
schau dir die Karte inzwischen ein bischen an.

MfG

von ap1 (Gast)


Lesenswert?

> Code...
Vielen dank für den code!

> wenn  ich hier zippen kann schicke ich dir das prog
> in quellcod.
> Änderungen sind schnell gemacht.
oh danke! Das w#re nett

> als software ist nur ein Demo beigelegt.
> auch verschiedene DLL.
> für die ansteuerung brauchst du nur Befehle.
> z.B. Diode Ein Aus
> ausgabe Dimmerwert.

Kann das sein, dass es dafür eine vorgefertigte Spezifikation gibt?
Wenn ja: Kann ich die beliebig erweitern?

> ich bin zu besuch bei meinem Enkel.
> deshalb ein bischen PC Schwierigkeiten.
> schau dir die Karte inzwischen ein bischen an.
also frohe Ostern noch ;)

PS: ich habe ein Problem das [...] zu machen
> schau dir die Karte inzwischen ein bischen an.
die Karte gibts nirgendwo unter 45 € zu kaufen .. Ich hätte zwar am 
Dienstag die chance für 44,99€ bei Conrad die Karte zu kaufen aber ich 
weiß nicht ob ich das wirklich alles verstehe und nicht mehr kaputt als 
richtig mache :(

PPS: soll ich sie mir schonmal kaufen?

Hoffe du kannst mir demnächst tipps geben

von ap1 (Gast)


Lesenswert?

Nachtrag:

* gehe ich dann über USB (weil ich im Inet nur USB Experimentierboards 
finde) oder über den COM Port?

mfg, ap1

von juppi (Gast)


Lesenswert?

hallo


bin wieder mal inet aktiv
der preis ist mir bekannt, relativ hoch.
die einfache möglichleit mit portDll
über centronics hat aber geschwindigkeitsprobleme zum direkten dimmen.
wenn du aber erst weiter lernen willst,ist diese möglichkeit sehr 
günstig.
mit par transistoren+ R kannst du leuchtdioden und relais schalten
taster oder andere eingabeteile abfragen.
Direkte 3dat ansteuerung von schieberegistern ist für versuche auch 
nicht schlecht.
Beitrag "VB-Programm zur seriellen Ansteuerung von 4094 gesucht"
beinhaltet ein VB.net Quelle

Die entscheidung kann dier keiner abnehmen.
Usb is natürlich zukunftsicher.

direkte rs232 ansteuerung mit controller wollte ich dir nict empfehlen.

wenn du dich entschieden hast wirst du mich schon wiederfinden

Frohe Ostern

von juppi (Gast)


Lesenswert?

hallo
K8055 oder P8055 Besitzer

"c:\k8055\k8055d.dll"

nur ein einfaches beispiel.

Option Strict Off
Option Explicit On

Public Class Form1

    '(Quelle: http://forum.velleman.be/viewtopic.php?t=147)
    Inherits System.Windows.Forms.Form
    Dim DoNothing As Boolean
    Dim n As Short
    Private Declare Sub Version Lib "c:\k8055\k8055d.dll" ()
    Private Declare Function SearchDevices Lib "c:\k8055\k8055d.dll" () 
As Integer
    Private Declare Function SetCurrentDevice Lib "c:\k8055\k8055d.dll" 
(ByVal CardAddress As Integer) As Integer
    Private Declare Function OpenDevice Lib "c:\k8055\k8055d.dll" (ByVal 
CardAddress As Integer) As Integer
    Private Declare Sub CloseDevice Lib "c:\k8055\k8055d.dll" ()
    Private Declare Function ReadAnalogChannel Lib "c:\k8055\k8055d.dll" 
(ByVal Channel As Integer) As Integer
    Private Declare Sub ReadAllAnalog Lib "c:\k8055\k8055d.dll" (ByRef 
Data1 As Integer, ByRef Data2 As Integer)
    Private Declare Sub OutputAnalogChannel Lib "c:\k8055\k8055d.dll" 
(ByVal Channel As Integer, ByVal Data As Integer)
    Private Declare Sub OutputAllAnalog Lib "c:\k8055\k8055d.dll" (ByVal 
Data1 As Integer, ByVal Data2 As Integer)
    Private Declare Sub ClearAnalogChannel Lib "c:\k8055\k8055d.dll" 
(ByVal Channel As Integer)
    Private Declare Sub SetAllAnalog Lib "c:\k8055\k8055d.dll" ()
    Private Declare Sub ClearAllAnalog Lib "c:\k8055\k8055d.dll" ()
    Private Declare Sub SetAnalogChannel Lib "c:\k8055\k8055d.dll" 
(ByVal Channel As Integer)
    Private Declare Sub WriteAllDigital Lib "c:\k8055\k8055d.dll" (ByVal 
Data As Integer)
    Private Declare Sub ClearDigitalChannel Lib "c:\k8055\k8055d.dll" 
(ByVal Channel As Integer)
    Private Declare Sub ClearAllDigital Lib "c:\k8055\k8055d.dll" ()
    Private Declare Sub SetDigitalChannel Lib "c:\k8055\k8055d.dll" 
(ByVal Channel As Integer)
    Private Declare Sub SetAllDigital Lib "c:\k8055\k8055d.dll" ()
    Private Declare Function ReadDigitalChannel Lib 
"c:\k8055\k8055d.dll" (ByVal Channel As Integer) As Boolean
    Private Declare Function ReadAllDigital Lib "c:\k8055\k8055d.dll" () 
As Integer
    Private Declare Function ReadCounter Lib "c:\k8055\k8055d.dll" 
(ByVal CounterNr As Integer) As Integer
    Private Declare Sub ResetCounter Lib "c:\k8055\k8055d.dll" (ByVal 
CounterNr As Integer)
    Private Declare Sub SetCounterDebounceTime Lib "c:\k8055\k8055d.dll" 
(ByVal CounterNr As Integer, ByVal DebounceTime As Integer)
    '###################################
    ' hallo mache deine Dll in dieses verz. (c:\k8055\k8055d.dll) ich 
hatte das so gemacht weil es am
    'anfang einfacher für mich war
nachfolgendes nur einfacher cod
    '####################################

    Dim karten_adresse As Long
    Dim adr As Long

    Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As 
System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        CloseDevice()
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles MyBase.Load
        karten_adresse = 0

        adr = OpenDevice(karten_adresse)
        TextBox1.Text = "Kart ADR  " & adr
    End Sub



    Private Sub Button1_Click(ByVal sender As Object, ByVal e As 
System.EventArgs) Handles Button1.Click
        ClearDigitalChannel(1)
    End Sub

    Private Sub Button2_Click(ByVal sender As Object, ByVal e As 
System.EventArgs) Handles Button2.Click
        SetDigitalChannel(1)
    End Sub

    Private Sub VScrollBar1_ValueChanged(ByVal sender As Object, ByVal e 
As System.EventArgs) Handles VScrollBar1.ValueChanged
        OutputAnalogChannel(1, VScrollBar1.Value)
    End Sub

    Private Sub Button9_Click(ByVal sender As Object, ByVal e As 
System.EventArgs)
        SetAllDigital()
    End Sub

    Private Sub Button10_Click(ByVal sender As Object, ByVal e As 
System.EventArgs)
        ClearAllDigital()
    End Sub

    Private Sub Button3_Click(ByVal sender As Object, ByVal e As 
System.EventArgs) Handles Button3.Click
        ClearAllDigital()
    End Sub

    Private Sub Button4_Click(ByVal sender As Object, ByVal e As 
System.EventArgs) Handles Button4.Click
        SetAllDigital()
    End Sub
End Class

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.