Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
236to240
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
236to240
236to240
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

rsapi.dll - große bitte !

rsapi.dll - große bitte !
29.03.2003 20:22:35
chris
ich versuche schon heute den ganzen abend mit der rsapi.dll ein funktionierendes programm zu schreiben !

könnte mir irgedwer der damit erfahrung hat ein kurzes programm schreiben ?
das rogramm sollte nur daten vom COM1 einlesen und dann in irgendeiner zelle ausgeben !

ihr würdet mir sehr hefen !

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: rsapi.dll - große bitte !
29.03.2003 20:40:39
Ramses

Hallo,

Ein Programm

Declare Sub OPENCOM Lib "RSAPI.DLL" (ByVal Parameter$)
Declare Sub CLOSECOM Lib "RSAPI.DLL" ()
Declare Sub DTR Lib "RSAPI.DLL" (ByVal Pegel%)
Declare Sub RTS Lib "RSAPI.DLL" (ByVal Pegel%)
Declare Sub TxD Lib "RSAPI.DLL" (ByVal Pegel%)
Declare Function CTS Lib "RSAPI.DLL" () As Integer
Declare Function DSR Lib "RSAPI.DLL" () As Integer
Declare Sub Delay Lib "RSAPI.DLL" (ByVal ms%)
Dim mode(8)
Sub MAIN()
mode(8) = 142 + 0 * 16: mode(7) = 142 + 4 * 16
mode(6) = 142 + 1 * 16: mode(5) = 142 + 5 * 16
mode(4) = 142 + 2 * 16: mode(3) = 142 + 6 * 16
mode(2) = 142 + 3 * 16: mode(1) = 142 + 7 * 16
Sheets("Tabelle1").Select
Columns("A:K").Select
Selection.ClearContents
OPENCOM "COM2,19200,n,8,1"
TxD 1: Rem TXD einschalten
Delay 100
DTR 0: Rem SCL=0
RTS 0: Rem DIN=0
For N = 1 To 1000
For K = 1 To 8
Dummy = Shift8(mode(K)): Rem Kanal K, unipolar
Delay 1
Highbyte = Shift8(0)
Lowbyte = Shift8(0)
Cells(N, K).Value = (16 * Highbyte + Lowbyte / 16)
Cells(K, 10).Value = (16 * Highbyte + Lowbyte / 16)
Next K
Next N
End Sub
Function Shift8(Kommando)
Bit = 128
Lesen = 0
For N = 1 To 8
If (Kommando And Bit) = 0 Then RTS 0 Else RTS 1
DTR 1
DTR 0
If CTS = 1 Then Lesen = Lesen + Bit
Bit = Bit / 2
Next N
Shift8 = Lesen
RTS 0
End Function


Zu finden unter http://www.ak-modul-bus.de/technik/serai.html#5

Gruss Rainer

Anzeige
Re: rsapi.dll - große bitte !
30.03.2003 10:19:30
chris

ich suche nicht irgendein programm, ich suche ein programm das die daten koninuierlich von COM1 einliest und in eie zelle schreibt ! ich möchte das ganze verstehen und das würde mit einem kurzen programm um vieles einfacher sein !

Aber so nicht..... :-(
30.03.2003 12:50:12
Ramses


Was glaubst was ich dir gesandt habe ?

Diese Sequenz liest die von der COM2 gelieferten Daten ein und schreibt es in dein Tabellenblatt.

For N = 1 To 1000
For K = 1 To 8
Dummy = Shift8(mode(K)): Rem Kanal K, unipolar
Delay 1
Highbyte = Shift8(0)
Lowbyte = Shift8(0)
Cells(N, K).Value = (16 * Highbyte + Lowbyte / 16)
Cells(K, 10).Value = (16 * Highbyte + Lowbyte / 16)
Next K
Next N

Wenn du etwas spezielles haben möchtest, würde ich dir folgendes raten:

1. Deine Tonart ändern
2. Deine Arroganz beiseite legen --- Du willst etwas haben, . nicht ich
3. Eine genaue Beschreibung deiner Problemstellung mit allen technischen Details, so da wären:
a) welches Gerät hängt an der COM Schnittstelle
b) welche Verbingunsgeschwindigkeit
c) Stopp-Bit Ja/Nein
d) spezielles Protokoll nötig
e) welche Daten kommen überhaupt ?

Einen Programmierkurs für die Programm- und Messtechnische Programmierung wirst du im Forum nicht bekommen.
Wenn du es verstehen willst, gehe den Code Zeile für Zeile durch. Was du nicht kapierst ,kannst du dir aus der OLH oder aus einschlägigen Foren runterladen.
Wenn du auf den Link aus meiner vorherigen Antwort geklickt hättest, würdest du schon einige zusätzliche Inputs herausholen können und sollte zum Verständnis beitragen.

Danke, das wars von meiner Seite.

Keine weiteren Infos mehr.


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige